/*app
引入优先级异步
命名冲突async
a.js
var a = 10;
var b = 10;模块化
b.js
alert(a)
var b = 30;ui
先入b 在引入a模块化开发
模块加载
模块:功能对象
轮播图 模块 在面向对象的轮播图当中 属性和方法都是在局部进行书写的ip
requireJS:
模块加载器 加载js 会把js里面的每个功能都当作一个模块 能够减小各个模块之间的依赖开发
模块化开发
requireJS seaJS commonJS ES6 module
玉伯 NOdejs的规范 ES6新增的模块化
废除掉了io
require遵循的规范:
AMD规范 依赖前置 定义模块的时候define定义
seaJS遵循的一个规范
CMD规范 依赖就近
COMMON遵循的规范
COMMONJS规范 引入require引入
ES6 module
引入import 导出的时候 exports
一、总结
什么require:
模块化加载器
解决的问题
一、文件引入的优先级
二、命名的冲突
三、加载的速度
二、对require的认识
遵循AMD规范 AMD的规范是依赖前置 意思就是提早加载模块 采用的是异步加载的方式
定义模块的时候用define进行定义
经过一个入口文件将全部的js进行提早加载
app.js
入口文件 require文件 config文件必须在同一目录
三、requireJS使用的步骤
一、引入requireJS
二、加载入口文件(异步加载的文件) data-main="入口文件地址" 后缀不须要加js
defer async="true" 异步加载文件
三、配置config文件
baseUrl:公共的路径
paths:
模块所对应的路径
四、app.js中引入config
require(["config"],function(){
require(["模块A","模块B"],function(模块A,模块B){
})
})
五、定义模块 用define进行定义 导出 return导出一个对象 */</script>