require.js 初探

/*

引入优先级

命名冲突


a.js
var a = 10;
var b = 10;

b.js
alert(a)
var b = 30;


先入b 在引入a

模块加载
模块:功能

轮播图 模块 在面向对象的轮播图当中 属性和方法都是在局部进行书写的


requireJS:
模块加载器 加载js 会把js里面的每一个功能都当做一个模块 可以减少各个模块之间的依赖

模块化开发
requireJS seaJS commonJS ES6 module
玉伯 NOdejs的规范 ES6新增的模块化

废除掉了

require遵循的规范:
AMD规范 依赖前置 定义模块的时候define定义

seaJS遵循的一个规范
CMD规范 依赖就近


COMMON遵循的规范
COMMONJS规范 引入require引入


ES6 module
引入import 导出的时候 exports

1、总结
什么require:
模块化加载器

解决的问题
1、文件引入的优先级

2、命名的冲突

3、加载的速度


2、对require的认识
遵循AMD规范 AMD的规范是依赖前置 意思就是提前加载模块 采用的是异步加载的方式
定义模块的时候用define进行定义


通过一个入口文件将所有的js进行提前加载


app.js
入口文件 require文件 config文件必须在同一目录

3、requireJS使用的步骤

1、引入requireJS

2、加载入口文件(异步加载的文件) data-main="入口文件地址" 后缀不需要加js
defer async="true" 异步加载文件

3、配置config文件
baseUrl:公共的路径
paths:
模块所对应的路径

4、app.js中引入config
require(["config"],function(){
require(["模块A","模块B"],function(模块A,模块B){

})
})

5、定义模块
用define进行定义
导出 return导出一个对象
*/
</script>

猜你喜欢

转载自www.cnblogs.com/carolavie/p/9750768.html