如果配置特定的context:
var myRequire = require.config({
context: 'foo',
paths: {
'jquery': 'jquery-1.11.2'
}
});
然后,我可以立即使用
myRequire
加载模块:myRequire(['require', 'jquery'], function (require, $) { /* ... */ });
但是,如果我将配置移到一个单独的文件中,如何检索适当的上下文?
基于this answer,我发现
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
};
});
main.js:
// does need path and .js extension
requirejs(['/scripts/require.config.js'], function (requireConfig) {
var myRequire = requireConfig.myRequire;
myRequire(['require', 'jquery'], function (require, $) { /* ... */ });
});
我仍然对更好的方法持开放态度,并且尚未使用r.js对此进行测试。