这是我的main.js
requirejs.config({
baseUrl: '/js',
paths: {
jquery: 'jquery',
ckeditor: 'ckeditor/ckeditor',
juiAutocomplete: 'jquery-ui-1.10.4.custom',
tags: 'bootstrap-tokenfield',
createPost: 'createPost',
domReady: 'domReady',
test: 'dropUpload'
},
shim: {
createPost: {
deps: ['domReady!']
}
},
deps: ['require'],
callback: function(require) {
'use strice';
var moduleName = location.pathname.replace(/\//g, '-').replace(/^-/, '');
console.log('moduleName is: ' + moduleName);
console.log('yes is: ' + require.config);
}
});
在回调中,我想访问上面requirejs.config()中定义的路径。如果有可能,该怎么办?
我的目的是查看是否定义了模块路径(存在)。如果是,则加载模块脚本。如果未选中,则会在控制台中生成加载错误。
以下是此控制台命令在requirejs中可用的方法。我无法找到访问我在requirejs.config()中定义的路径的方法。这是正确的方向吗?
for (var i in requirejs) {console.log(i);}
配置 nextTick 版 jsExtRegExp isBrowser 小号 的toURL 民主基金 定义 规定 onerror的 createNode 加载 EXEC 为undef
答案 0 :(得分:0)
没有公共API可以从模块内部获取整个 RequireJS配置。您的配置中可以有config
部分,可以访问哪些模块。
但是,您描述的尝试解决的问题不需要您阅读配置。以正常方式调用require
将加载模块。如果无法加载模块,则会在控制台上生成错误。大概你也想要你的代码来知道加载是否成功。您可以使用errback:
require(['foo'], function (foo) {
// Whatever you'd like to do with foo on success.
}, function (err) {
// Whatever you'd like to do on error.
});
如果由于某种原因你必须直接读取配置,那么它位于requirejs.s.contexts.<context name>.config
,其中<context name>
是RequireJS上下文的名称。默认上下文名为_
,因此其配置为requirejs.s.contexts._.config
。但是,这是不公共API的一部分,可以随时更改。