下午将 rails 项目的 stocks.js 文件修改后,使用 cap qa deploy 命令对项目进行部署,但是发现部署之后,浏览器请求的 stocks.js 文件的文件名是部署之前的,即 stocks-59c6ede76fa709dc52fa25971a054f4b.js。
而此时 cap 命令中使用的 bundle exec rake assets:precompile 命令将 stocks.js 文件预编译,并在 public 目录下将文件名改为了 stocks-21133....ff8,js,导致浏览器无法得到 stocks.js 文件,返回 404 错误。
查看 manifest.json 文件,发现 stocks.js 对应的是更新之后的 stocks-21133....ff8,js。
我想请教大家的就是,为什么预编译之后 rails 将文件名更新了,但是请求文件的 url 没有更新呢?
谢谢大家!
这是部署完成之后访问网页的情况,网页请求的是 stocks-59c6ede76fa709dc52fa25971a054f4b.js:
但是此时服务器上的 public 目录里已经没有 stocks-59c6ede76fa709dc52fa25971a054f4b.js,因为预编译之后将文件名改成 stocks-21133....ff8,js 了。