2
4

1 回答 1

2
// main.js
require("foo.js", function(foo) {
    console.log(foo === 42); // true
});

//foo.js

/*
define(42);

define({
   "foo": "bar"
});

define(["bar.js"], function(bar) {
    return bar.foo;
});
*/

define(function() {
     return 42;
});

定义是在不依赖全局范围的情况下将模块化对象传回的好方法。

但是,define 的特定 API 因库而异。

这里的基本思想是您在文件中调用 define 来定义该模块是什么。然后,当您需要该文件时,您将获得该模块。这切断了全球范围的中间人。

虽然它并没有更快(它比注入全局范围更慢)。

使用requireanddefine你只有两个全局值。

上面的特定define示例与requireJS API匹配

于 2011-05-19T18:40:36.800 回答