我对requireJS有以下设置。
requirejs.config({
paths: {
'resources' : '/Scripts/resources'
},
shim: {
'resources': {
exports: 'LocalizedStrings'
}
}
});
我的 resources.JS 如下所示:
LocalizedStrings = {
title: "Demo",
save: "Save"
}
现在,当我在 main.JS 文件中加载资源作为依赖项时,我可以访问 LocalizedStrings 并且它可以工作。
//main.js
define(function(require){
var LocalizedStrings = require('resources');
console.log(LocalizedStrings); //works as expected
});
但是在其他模块上,我真的不需要加载资源作为访问“LocalizedStrings”的依赖项。
//othermodule.js
define(function(require){
console.log(LocalizedStrings); //works as expected even though resources dependency is not loaded
});
我在这里不明白的是,如果我使用 shim 加载一个 JS 文件并加载一次,它是否会变得全局可用并且我不必在其他模块中再次加载相同的依赖项。