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>