1.模块化开发的原因:
为了解决页面堵塞,往往会采用异步加载js的方式,但这种方式会带来一些不确定因素;
为此,James Burke 便搞了一个AMD(Asynchronous Module Definition 异步模块定义)规范
异步加载模块,模块加载不影响后续语句执行。
2.模块化开发的作用:
异步加载模块,模块加载不影响后续语句的执行。
3.require.js:
是一个实现了AMD的库,它的作用;
a:实现了js异步加载,避免页面加载出现假死;
b:管理模块之间的依赖性,便于代码的编写与维护;
c:简化了过于复杂的模块依赖关系;
4.require.js的实现流程
1.下载require.js:https://requirejs.org/
2.在页面引入require.js
<script scr="./require.js" data-main='将要引入的js 如:index.js'></script>
即要引入的js就为一个出口js。
3.编写一个配置文件 “config.js”文件;
此文件配置所有的模块,然后再出口文件中用 require 引入。
4.出口js的编写;例如:出口js为 “index.js”,
在编写此文件时,必须首先用require引入config配置文件,
两个参数;参数1:配置文件的名称,参数2:回调函数,里面开始编写各个模块的依赖。
第二个require引入的是,各个模块的依赖关系,两个参数;
参数1:所依赖的模块,都不加 .js ;此名称和配置文件中的自定义的名称必须保持一致,
参数2:依赖这个模块干什么,是一个回调函数,里面所传递的参数必须和第一个参数所依赖的名称必须保持一致。
5.自定义模块的编写:例如:(demo1.js)
自定义模块的需要暴露,暴露模块的方法为define;
把此模块需要在配置文件中引入进行配置,配置方法转上第3步骤;
**整个过程除了HTML文件中引入index.js时后面加.js,其他过程中均不加!!**