javascript - 在requireJS中如何定义多个存在依赖关系的JS包的加载顺序?
PHP中文网
PHP中文网 2017-04-10 15:24:11
[JavaScript讨论组]

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
伊谢尔伦

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

大家讲道理

原生的require()不支持按次序加载,require()只保证文件全部加载完成之后,才会运行所指定的回调函数。如果按次序加载对你很重要,你可以使用官方提供的order插件。可参考本文:SeaJS与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的模块定义和使用。你的问题就会得到解决了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号