适用于 npm 运行 的静态构建的自动缓存清除?
Automatic cache-busting for static builds that works well with npm run?
我使用 npm
作为我的构建工具,通过使用各种命令填充 scripts
field 来完成我需要的任务。我对设置很满意,除了一个小细节:在构建生产时,我希望在 <link>
标签中引用 CSS 文件,在 <script>
中引用 JS 文件要为缓存清除更新的标签(即通过将 ?random_string
附加到文件名或类似名称来修改)。
我正在使用 jade
,以防有我错过的方法。
我不介意解决方案破坏每个文件,即使自上次构建以来它们没有更改。我关心的是它不需要我向网站本身添加复杂的代码(比如以这个为唯一目的的功能);它最好是一个外部命令。
到目前为止,我还没有找到可以接受的解决方案。我几乎要求助于正则表达式,但我真的宁愿有一个更强大的解决方案。
由于 Jade 允许执行任何 Javascript 代码,您可以在 URL 的末尾附加一个日期字符串作为查询字符串,这是使缓存脚本无效的标准方法:
script(src="/app.js?#{Date.now()}")
我使用 npm
作为我的构建工具,通过使用各种命令填充 scripts
field 来完成我需要的任务。我对设置很满意,除了一个小细节:在构建生产时,我希望在 <link>
标签中引用 CSS 文件,在 <script>
中引用 JS 文件要为缓存清除更新的标签(即通过将 ?random_string
附加到文件名或类似名称来修改)。
我正在使用 jade
,以防有我错过的方法。
我不介意解决方案破坏每个文件,即使自上次构建以来它们没有更改。我关心的是它不需要我向网站本身添加复杂的代码(比如以这个为唯一目的的功能);它最好是一个外部命令。
到目前为止,我还没有找到可以接受的解决方案。我几乎要求助于正则表达式,但我真的宁愿有一个更强大的解决方案。
由于 Jade 允许执行任何 Javascript 代码,您可以在 URL 的末尾附加一个日期字符串作为查询字符串,这是使缓存脚本无效的标准方法:
script(src="/app.js?#{Date.now()}")