我当前的堆栈是 Angularjs、Gulp、NPM 等 - 所以它是一个单页应用程序。
在构建时,我正在缩小我的 JS 和样式并放入一个分发文件。除了这个构建,我还在我的 index.html 文件中进行 gulp-replace 以在 JS/CSS 上设置一个版本。
建前索引
<script src="scripts.min.js?v=[replace]"></script>
构建后
<script src="scripts.min.js?v=abc123"></script>
每次构建都会更改查询参数值。请注意,我确实仔细检查了每个生产版本是否都在更改查询参数值 - 仍然无济于事!
问题:此资产版本控制似乎不会强制客户端重新获取资产(他们仍在网站上看到旧脚本/样式)。
问- 这里到底发生了什么?如何正确地对资产进行版本控制,以便用户始终获得新版本?