在requireJS中如何定义多个存在依赖关系的JS包的加载顺序?
最近在学习requireJs,官网中介绍了存在依赖的函数式定义的使用,但我想到,我们在实际开发中常常会碰要引入多个js包,但是但是他们之间都是有顺序的,比如,要引入jquery.js,bootstrapt.js,my.js,然后必须先引用jquery.js,然后在bootstrapt.js,然后再是my.js,那么在应用requireJS中我们该怎么做呢?
風追いポニー
10 years, 5 months ago
Answers
额,按顺序加载?
你应当理解为“A依赖于B,B依赖于C和D”。如果没有依赖,你的js就可以不按顺序放了。
那么,依赖加载就是模块化js的概念了,而requirejs 就是为此而生的模块化js加载器(AMD规范)。
比如:bootstrap中的modal只是依赖jquery,那么你就需要包装modal。例如:
javascript
define(['jquery'],function(){ var modal=function(){}; return modal; });
当然bootstrap中的js组件并没有模块化定义,所以,也可以用requirejs 来shim。
题主请先了解requirejs的模块定义和使用。你的问题就会得到解决了。
gissac3
answered 10 years, 5 months ago
原生的require()不支持按次序加载,require()只保证文件全部加载完成之后,才会运行所指定的回调函数。如果按次序加载对你很重要,你可以使用官方提供的order插件。可参考本文: SeaJS与RequireJS最大的区别 ,其中有关于对问题的讨论。
香霖堂的夏天
answered 10 years, 5 months ago
stanes
answered 10 years, 5 months ago