为了迫使更新的静态资产从顽固的CDN中加载,我正在寻找一种方法,将app/index.html中的每个src="assets/...引用公开到唯一的文件名,以保持CDN发行版的更新。
也许在index.html:
<link rel="stylesheet" href="assets/vendor.css?version={{content-for 'version'}}">然后,在其他地方,我可能会用随机数或构建标记覆盖自定义的content-for值。
想法?谢谢!
发布于 2017-01-30 01:38:08
答案是余烬指纹。
默认情况下,在生产中启用了它:
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
}
});发布于 2017-01-23 06:46:14
我想您可以通过配置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'
}
}
});查看一下配置输出路径部分的成员-cli用户指南。
https://stackoverflow.com/questions/41798210
复制相似问题