首页 > 在requireJS中如何定义多个存在依赖关系的JS包的加载顺序?

在requireJS中如何定义多个存在依赖关系的JS包的加载顺序?

最近在学习requireJs,官网中介绍了存在依赖的函数式定义的使用,但我想到,我们在实际开发中常常会碰要引入多个js包,但是但是他们之间都是有顺序的,比如,要引入jquery.js,bootstrapt.js,my.js,然后必须先引用jquery.js,然后在bootstrapt.js,然后再是my.js,那么在应用requireJS中我们该怎么做呢?


额,按顺序加载?
你应当理解为“A依赖于B,B依赖于C和D”。如果没有依赖,你的js就可以不按顺序放了。
那么,依赖加载就是模块化js的概念了,而requirejs 就是为此而生的模块化js加载器(AMD规范)。

比如:bootstrap中的modal只是依赖jquery,那么你就需要包装modal。例如:

javascriptdefine(['jquery'],function(){
  var modal=function(){};
  return modal;
});

当然bootstrap中的js组件并没有模块化定义,所以,也可以用requirejs 来shim。

题主请先了解requirejs的模块定义和使用。你的问题就会得到解决了。


请看文档 https://github.com/amdjs/amdjs-api/blob/master/AMD.md


原生的require()不支持按次序加载,require()只保证文件全部加载完成之后,才会运行所指定的回调函数。如果按次序加载对你很重要,你可以使用官方提供的order插件。可参考本文:SeaJS与RequireJS最大的区别,其中有关于对问题的讨论。

【热门文章】
【热门文章】