Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何设置哈希文件名的最大到期日?_Angular_Nginx_Cache Control - Fatal编程技术网

Angular 如何设置哈希文件名的最大到期日?

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查找所有

如何仅为名称中包含哈希的文件设置nginx expires设置

e、 g.角度构建过程将输出:

其中:

  • 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;
}