标签:解析 js使用 async module 页面 requirejs 方法 模块化编程 cmd
个人倾向于require.js
requireJS主要解决两个问题
1、多个js文件可能有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器
2、js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应时间越长
1.首先原理上的区别
sea.js遵循CMD规范.书写方式类似node.js的书写模板代码.依赖的自动加载,配置的简洁清晰.说白了就是懒加载.
require.js遵循AMD规范,CMD和AMD基本相同,最大的区别是就CMD是懒加载,AMD是预加载.
简单来说,就是sea.js属于懒加载,require.js属于预加载.
在这里,顺便扩展一下预加载和懒加载的优缺点
预加载:当第一次访问时将所有的文件加载出来
优点:第一次访问完成以后, 再次访问的速度会很快
缺点:第一次加载页面要等待很久.
懒加载:使用的时候才会加载对应的文件.
优点:第一次访问速度相对快点
缺点:再访问其他新的模块时速度会变慢.
2.书写上面的区别
都是用define来定义一个模板.通过require,exports,module三个参数来调动函数.
基本上他们的用法是大同小异的.不过要两点较大的区别是需要大家去注意的:
1)sea.js使用模块时用方法seajs.use,而require.js直接用require关键字
2)sea.js只使用一个模块时可以只传入一个字符串,但是require传入的必须是一个数组.
JavaScript模块化编程之require.js与sea.js
标签:解析 js使用 async module 页面 requirejs 方法 模块化编程 cmd
原文地址:http://www.cnblogs.com/zhangruiqi/p/7831600.html