Node.js 对于与npm运行良好配合的静态构建,是否自动进行缓存破坏?

Node.js 对于与npm运行良好配合的静态构建,是否自动进行缓存破坏?,node.js,caching,pug,browser-cache,Node.js,Caching,Pug,Browser Cache,我使用npm作为我的构建工具,通过为我需要的任务填充各种命令。我对设置很满意,除了一个小细节:在为生产而构建时,我希望在标记中引用CSS文件,在标记中引用JS文件,以更新缓存破坏(即通过在文件名中添加?随机字符串或类似内容来修改) 我正在使用,以防有一种方法我错过了 我不介意解决方案是否会破坏每个文件,即使它们自上次构建以来没有更改。我关心的是,它不需要我添加复杂的代码到网站本身(像一个功能,这是它的唯一目的);它最好是一个外部命令 到目前为止,我还没有找到一个可以接受的解决方案。我几乎要求助于

我使用
npm
作为我的构建工具,通过为我需要的任务填充各种命令。我对设置很满意,除了一个小细节:在为生产而构建时,我希望在
标记中引用CSS文件,在
标记中引用JS文件,以更新缓存破坏(即通过在文件名中添加
?随机字符串
或类似内容来修改)

我正在使用,以防有一种方法我错过了

我不介意解决方案是否会破坏每个文件,即使它们自上次构建以来没有更改。我关心的是,它不需要我添加复杂的代码到网站本身(像一个功能,这是它的唯一目的);它最好是一个外部命令


到目前为止,我还没有找到一个可以接受的解决方案。我几乎要求助于正则表达式,但我更希望有一个更健壮的解决方案。

由于Jade允许执行任何Javascript代码,您可以在URL末尾附加一个日期字符串作为查询字符串,这是使缓存脚本无效的标准方法:

script(src="/app.js?#{Date.now()}")

你能在Jade文件中每个URL的末尾添加
src=“…?#{Date.now()}”
吗?是的,我能。太好了,谢谢。这是一个完全可以接受的添加,因为它包含在标签中。你能不能把它作为一个答案,这样我就可以接受了?在帕格(jade 2.0+)中,属性上的字符串插值已经被删除。一种选择是使用带有反勾号的ES6字符串模板。为什么还要缓存呢?