为了强制更新静态资产从顽固的CDN加载,我正在寻找一种方法来发布 app / index.html 中每个src="assets/...
引用的方法到唯一的文件名,以保持CDN分布新鲜。
也许在index.html:
<link rel="stylesheet" href="assets/vendor.css?version={{content-for 'version'}}">
然后在其他地方我可能会使用随机数或构建标记覆盖自定义content-for
值。
想法?谢谢!
答案 0 :(得分:1)
默认情况下,它已在生产中启用:
ember build --environment=production
这将导致 index.html 中的以下内容(如下所示)以及相应的资产文件名:
<link rel="stylesheet" href="assets/vendor-d41d8cd98f00b204e9800998ecf8427e.css" integrity="sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= sha512-z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==" >
要为所有环境默认启用指纹识别,请将其添加到ember-cli-build.js
:
// ember-cli-build.js
var app = new EmberApp({
fingerprint: {
enabled: false
}
});
答案 1 :(得分:0)
我想您可以通过配置ember-cli-build.js
文件来完成此操作。此文件的默认值如下所示:
// ember-cli-build.js
var app = new EmberApp({
outputPaths: {
app: {
html: 'index.html',
css: {
'app': '/assets/application-name.css'
},
js: '/assets/application-name.js'
},
vendor: {
css: '/assets/vendor.css',
js: '/assets/vendor.js'
}
}
});