这是我的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);}config nextTick版本jsExtRegExp isBrowser的toUrl未定义指定的onError createNode加载exec未定义
发布于 2014-03-30 18:39:45
没有从模块内部获取整个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的一部分,可以随时更改。
https://stackoverflow.com/questions/22741864
复制相似问题