在Dojo 1.7 AMD网络应用程序中,您还可以在配置对象中定义任意数据(http://dojotoolkit.org/reference-guide/loader/amd.html)。
配置对象还可用于设置任意特定于应用程序的配置数据。配置对象的所有属性都被浅层复制到require.rawConfig
我查看了requirejs配置页面(http://requirejs.org/docs/api.html#config),但我在这里找不到类似的功能。但我没有查看源代码。
是否有可能在requirejs配置中存储任意信息并获取访问权限? 非常感谢提前 沃尔夫冈
答案 0 :(得分:1)
据我所知,它不受支持 您需要在require.js源代码中插入1行才能获得此功能。
以下是一个例子:
require.config({
test: "one",
paths: {
'jquery': 'libs/jquery/1.7.1/jquery',
...
除了正常值,您还可以存储任意信息。
然后,您必须使用文本编辑器打开requirejs源代码
大致在380 - 390行(取决于您的版本),功能“makeRequire”:
这个函数调用另一个叫做“mixin”的东西:
mixin(modRequire, {
nameToUrl: makeContextModuleFunc(context.nameToUrl, relModuleMap),
toUrl: makeContextModuleFunc(context.toUrl, relModuleMap),
defined: makeContextModuleFunc(context.requireDefined, relModuleMap),
specified: makeContextModuleFunc(context.requireSpecified, relModuleMap),
isBrowser: req.isBrowser,
rawConfig: config
});
在“isBrowser”之后写下“rawConfig:config”。
现在,在您的amd模块中:
define(['require'], function (require){
alert (require.rawConfig.test);
...
更新:
这个功能将在requirejs 1.1中得到体现
https://github.com/jrburke/requirejs/issues/182