Possible Duplicate:
How to load bootstrapped models in Backbone.js while using AMD (require.js)
我目前正在为我们的一个项目创建一个 RESTful API,并且还想提供一个 Javascript 库来访问它。
因为我喜欢AMD原理和使用require.js,所以我也会提供一个AMD模块。
问题是:模块的初始化需要一些信息,例如初始化时的 API key 。
如何在初始化时将这些参数传递给模块?
如果你有这样的事情:
define(['dep1', 'dep2', 'dep3'], function (dep1, dep2, dep3) {
var module = {
...
};
return module;
});
将其更改为:
define(['dep1', 'dep2', 'dep3'], function (dep1, dep2, dep3) {
var module = {
...
};
var init = function (options) {
// Initialize here
return module;
};
return init;
});
然后在某个地方需要你的模块之后,你可以调用它来初始化。如果您需要更复杂的东西并返回工厂,您可能还想研究工厂模式。
require.js 不会限制您返回的内容。它可以是一个简单的对象,一个字符串,一个函数...