javascript - RequireJS - 将参数传递到模块进行初始化

标签 javascript module requirejs amd

<分区>

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 不会限制您返回的内容。它可以是一个简单的对象,一个字符串,一个函数...

关于javascript - RequireJS - 将参数传递到模块进行初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10319027/

相关文章:

requirejs - RequireJS优化工具排除文件夹

javascript - requirejs:为什么模块中定义的函数无法访问 require() 内的局部变量,我该如何实现这一点?

javascript - 在 puppeteer 中加载和使用 JS 模块

visual-studio-2015 - VS2015 中的 bower 错误 "bower requirejs extra-resolution Unnecessary resolution: requirejs#~2.2.0"

javascript - 简化页面滚动?

javascript - 我可以获得存储在对象中的函数的字符串化代码吗?

python - 为什么 sphinx automodule 不显示任何模块成员?

scala - 是否可以从 intellij 运行 giter8 模板?

javascript - 输入类型数字的 ng-pattern

javascript - 简单的变量赋值不起作用