我正在看另一个人写的一个JavaScript片段,
define(
[
"dojo/a",
"dojo/b",
"dojo/c",
...,
"dojo/z"
],
function(a, b) {
var c = require("dojo/c");
...;
var z = require("dojo/z");
// code goes here
}
);
我想弄明白你为什么要这么做。这段短得多的片段不是完全一样吗?:
define(
[
"dojo/a",
"dojo/b",
"dojo/c",
...,
"dojo/z"
],
function(a, b, c, ..., z) {
// code goes here
}
);
2条答案
按热度按时间dm7nw8vv1#
导入模块一次后,无需再次添加require:
nzk0hqpo2#
第一个代码段中的代码段并不相同,加载程序首先将数组中传递的所有模块加载到
require
,然后仅在数组中列出的所有模块都已加载时执行回调。在回调中,您可以在其他require
之前运行其他代码。示例:
您的第二个代码段回调只在加载了所有模块时执行。
一般来说,我会选择第二种方法,即使第一种方法在您需要根据某些条件加载一些模块时很方便。