Javascript 请求特定的RequireJS配置上下文
如果我配置了特定的: 然后,我可以立即使用Javascript 请求特定的RequireJS配置上下文,javascript,requirejs,Javascript,Requirejs,如果我配置了特定的: 然后,我可以立即使用myRequire加载模块: myRequire(['require', 'jquery'], function (require, $) { /* ... */ }); 但是,如果我将配置移动到一个单独的文件中,如何检索适当的上下文 基于此,我发现requirejs.s.contexts['foo'].require返回与myRequire相同的函数。这似乎有点骇人听闻。另一个选项是为配置定义一个模块并从中返回myRequire。批准的方法是什么?这
myRequire
加载模块:
myRequire(['require', 'jquery'], function (require, $) { /* ... */ });
但是,如果我将配置移动到一个单独的文件中,如何检索适当的上下文
基于此,我发现requirejs.s.contexts['foo'].require
返回与myRequire
相同的函数。这似乎有点骇人听闻。另一个选项是为配置定义一个模块并从中返回myRequire
。批准的方法是什么?这是可行的:
require.config.js:
define(function () {
'use strict';
var myRequire = require.config({
context: 'foo',
paths: {
'jquery': 'jquery-1.11.2'
}
});
return {
myRequire: myRequire
};
});
// does need path and .js extension
requirejs(['/scripts/require.config.js'], function (requireConfig) {
var myRequire = requireConfig.myRequire;
myRequire(['require', 'jquery'], function (require, $) { /* ... */ });
});
main.js:
define(function () {
'use strict';
var myRequire = require.config({
context: 'foo',
paths: {
'jquery': 'jquery-1.11.2'
}
});
return {
myRequire: myRequire
};
});
// does need path and .js extension
requirejs(['/scripts/require.config.js'], function (requireConfig) {
var myRequire = requireConfig.myRequire;
myRequire(['require', 'jquery'], function (require, $) { /* ... */ });
});
我仍然对更好的方法持开放态度,我还没有用r.js测试过这一点。这几乎是我昨晚看到你的问题时想到的,但当时我很忙。