RequireJS:配置参数未传递到包中

时间:2013-08-26 13:53:47

标签: javascript requirejs dependency-management

我正在尝试将配置参数发送到我的软件包的main.js文件中,但它似乎无法正常工作。我究竟做错了什么?这是文件和路径信息

/config.js

require.config({
    baseUrl : '../src',
    config : {
        'AAM' : {
            get : null,
            set : null
        }
    },
    packages : [ 'AAM']
});

/src/AAM/main.js

require.config({
    paths : {
        AAMAsPermission : 'AAM/perms/asPermission'
    }
});

// Start the main app logic.
requirejs(['AAMAsPermission'], function(AAMAsPermission) {

});

/ SRC / AAM /烫发/ asPermission

define(['module'], function(module) {
    module.config() // empty object.  Why?
    ....
});

在/ src / AAM / perms / asPermission中,从module.config()返回的对象为空。为什么呢?

1 个答案:

答案 0 :(得分:2)

根据documentation

  

要将config传递给包,请将包中的主模块作为目标,而不是包ID:

所以你应该像这样配置它:

require.config({
    baseUrl : '../src',
    config : {
        // target the module, not the package
        'AAM/perms/asPermission' : {
            get : null,
            set : null
        }
    },
    packages : [ 'AAM']
});

如果这不符合您的需求,您也可以尝试使用单独的全局模块来保存单身:Using RequireJS, how do I pass in global objects or singletons around?