前端

模块化编程--require使用

2016-12-22  本文已影响0人  kabem

AMD--require

AMD规范:异步模块加载机制

服务器端 -- 同步加载   浏览器端 -- 异步加载       -->  因为在服务器端中,所有模块都存放在硬盘中,等待时间就是硬盘读取时间,但是浏览器端,所有模块都存放在服务器上,等待时间取决于网速快慢,可能很长时间浏览器处于假死状态

1.下载require.js,确定index.js为程序入口,则

<script src="js/require.js" data-main="js/index"></script>    -->  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:该模块的依赖性

上一篇 下一篇

猜你喜欢

热点阅读