Angular 如何设置哈希文件名的最大到期日?
如何仅为名称中包含哈希的文件设置nginx expires设置 e、 g.角度构建过程将输出: 其中:Angular 如何设置哈希文件名的最大到期日?,angular,nginx,cache-control,Angular,Nginx,Cache Control,如何仅为名称中包含哈希的文件设置nginx expires设置 e、 g.角度构建过程将输出: 其中: ngs worker.js(非散列文件名)不得缓存 polyfills-es5.3eb4a9891f4a514281f1.js等(散列文件名)可以永久缓存 现在,我知道我可以为所有js文件设置最大缓存到期时间,并排除一些文件(例如ngs worker.js) 但如果我忘记了一个非散列文件,或者将来的版本会产生更多的非散列文件,这将是灾难性的 我们应该如何处理这个问题? 可能使用a查找所有
(非散列文件名)不得缓存ngs worker.js
polyfills-es5.3eb4a9891f4a514281f1.js等(散列文件名)可以永久缓存
js
文件设置最大缓存到期时间,并排除一些文件(例如ngs worker.js
)但如果我忘记了一个非散列文件,或者将来的版本会产生更多的非散列文件,这将是灾难性的 我们应该如何处理这个问题?
可能使用a查找所有哈希文件?我们使用正则表达式查找名称中包含20个字符哈希的所有文件(用点包围)
请注意,必须引用位置正则表达式-参见此我们使用正则表达式查找名称中包含20个字符哈希的所有文件(由点包围)
注意,必须引用location regex-请参见此构造一个仅与哈希匹配文件名的正则表达式,并使用
映射
设置expires
值。请参阅。构造一个仅与哈希匹配文件名的正则表达式,并使用map
设置expires
值。看见
# e.g. 'polyfills-es5.3eb4a9891f4a514281f1.js'. 'roboto-v18-latin-300.815babffe97b00a1f30b.woff2', ..
location ~* "\.[a-f0-9]{20}\." {
access_log off;
expires max;
}