我在init脚本中声明require.config(...)
,然后需要一些自定义模块,并module.config()
返回undefined
。
require.config({
noGlobal: true
});
define('foo', function (require, exports, module) {
$('#debug').append($('<div>', {
text : "Module config = " + JSON.stringify(module.config())
}));
return 'Hello';
});
require(['foo'], function (foo) {
$('#debug').append($('<div>', {
text : "Got foo = " + JSON.stringify(foo)
}));
});
如何获取require.config
对象?
答案 0 :(得分:2)
您的问题是由对module.config()
的误解造成的。
包含要演示的代码示例。
module.config
演示
require.config({
noGlobal: true,
config: {
foo: {
locale: 'fr-fr'
}
}
});
define('foo', function (require, exports, module) {
console.log("Module config");
console.log(module.config());
$('#debug').append($('<div>', {
text: "Module config = " + JSON.stringify(module.config())
}));
return 'Hello';
});
require(['foo'], function (foo) {
$('#debug').append($('<div>', {
text: "Got foo = " + JSON.stringify(foo)
}));
});
解决方案#1:在window
对象中保存RequireJS配置
window.requireJsConfig = {
noGlobal: true,
config: {
foo: {
locale: 'fr-fr'
}
}
};
require.config(window.requireJsConfig);
define('foo', function (require, exports, module) {
// Access window.requireJsConfig here
return 'Hello';
});
解决方案#2:在require
对象中保存RequireJS配置
require.requireJsConfig = {
noGlobal: true,
config: {
foo: {
locale: 'fr-fr'
}
}
};
require.config(require.requireJsConfig);