当我们在调试模式下运行我们的站点而不缩小脚本时,它可以工作:
var defines = [
'globals',
'templates'
];
define(defines, function(globals, templates) {
//code...
});
但是一旦代码缩小,它就会停止工作。你知道为什么吗?
请注意这是有效的:
define([
'globals',
'templates'
], function(globals, templates) {
//code...
});
我们想要使用数组的原因是因为我们想要遍历它来替换'模板'与' template.1010101010'其中10101010101是基于文件创建的时间戳,维护这样的文件使我们能够在文件更新时自动绕过缓存。
请注意,我们有更多文件需要循环播放。
答案 0 :(得分:2)
r.js
无法处理指定为除文字数组之外的其他内容的依赖项。这就是为什么这样做的原因:
define(['globals', 'templates'], function(globals, templates)...
但这不起作用:
var deps = ['globals', 'templates'];
define(deps, function(globals, templates)...
要使其正常工作r.js
必须执行代码分析,这将使其更复杂,更慢。
出于缓存破坏的目的,获得您要实现的目标的一种方法是生成运行时配置,其中paths
templates
设置是在构建的步骤中动态设置的:
paths: {
templates: 'templates.1.3.2'
}