AMD--require
AMD规范:异步模块加载机制
服务器端 -- 同步加载 浏览器端 -- 异步加载 --> 因为在服务器端中,所有模块都存放在硬盘中,等待时间就是硬盘读取时间,但是浏览器端,所有模块都存放在服务器上,等待时间取决于网速快慢,可能很长时间浏览器处于假死状态
1.下载require.js,确定index.js为程序入口,则
--> data-main:指定网页程序的主模块
2.index.js头部 使用require.config()对模块的加载进行自定义
require.config({
baseUrl:"js/xx",
path:{"jquery":"jquery.min","自定义模块":"自定义"}
});
然后
require(["jquery","自定义模块"],function($,xx){回调函数 --> 所有依赖这个模块的语句,都定义在回调函数中,等依赖模块加载完毕回调函数执行})
其中
1)如果依赖的是符合AMD规范的模块,如jquery,则直接require就行
2)如果依赖的是自定义的模块,则自定义模块的文件中
define(模块标识,所依赖的模块,回调函数(){return 对象})
当index中require()加载这个自定义模块时,会先加载所依赖的模块
3)如果依赖的是非规范模块,需要在require.config中定义特征
require.conifig({
shim:{"jquery.scroll":{deps:['jquery'],exports:'jquery.fn.scroll'}} });
shim:配置不兼容的模块
exports:这个模块外部调用时的名称
deps:该模块的依赖性