假设有三个模块: m1 , m2 , m3
其中 mi (i = 1..3)为空模块:
define(function() {
return this;
})
并存在依赖于 m1 , m2 , m3 模块的附加模块 useAll 。
useAll模块的两个实现之间有什么区别:
所有模块都依赖于define()
中提到的useAlldefine([' m1 ',' m2 ',' m3 '],function(){...})< / p>
require()函数中提到的模块
define(function(){ 要求([ ' M1 ']); 要求([ '平方米']); 要求([ '立方米']); ... })
脚本加载时间和顺序是否有问题?
答案 0 :(得分:3)
不同之处在于,在第二次实施中你的
require
将r.js
视为嵌套依赖项和。{
默认情况下,它们不会包含在优化过程中,
除非你指定:
来自文档:
在require()或define调用中查找require()依赖项。通过 默认此值为false,因为这些资源应该是 考虑动态/运行时调用。但是,对于一些优化 在场景中,最好将它们包含在构建中。
另一个区别是,第二个实现可以加载 CommonJs模块也是。
如果使用require
来定义模块,则执行时不能返回任何值。这意味着,您不能将此模块用作对另一个模块的真正依赖