【发布时间】:2016-10-24 15:54:22
【问题描述】:
鉴于此requirejs 配置:
require.config({
baseUrl: './js',
paths: {
'jquery': 'vendor/jquery',
'bootstrap': 'vendor/bootstrap',
'basicModel': 'app/models/basicModel',
'aboutModel': 'app/models/aboutModel',
'contactModel': 'app/models/contactModel',
'models': 'models',
'vendor': 'vendor'
},
shim: {
'bootstrap': ['jquery', 'models']
}
});
我希望我的自动化脚本为生产准备一个包,以将paths 对象内的每个值映射如下:
'jquery': [cdnUrl + 'vendor/jquery', 'vendor/jquery'],
如您所见,cdnUrl 是一个实际变量,它将在运行时保存我的 CDN 端点。无法在构建时间确定端点,该脚本应在何时运行。
我怎样才能进行这种映射?
编辑:
我不想在这种情况下使用正则表达式,因为我真正的 require.config.js 文件更大且更复杂,因为除了 paths 之外还有更多具有相同语法的属性。
我有一个脚本,它使用requirejs-config-file npm 包解析上述配置,基本上把它变成一个真实的对象。我只是不知道我要问的内容是否可以在 javascript 代码中实现(不是文本编辑)。
【问题讨论】:
-
你想要
paths['jquery'] = [cdnUrl + paths['jquery'], paths['jquery']]这样的东西吗? -
是的。如何做到这一点?
-
这个问题的题目实在是不清楚;我看不出这与变量名称和值或映射有什么关系。
-
好吧,我想映射一些值以包含一些其他变量名。如果您有更好的建议,我可以编辑主题。
标签: javascript gruntjs requirejs