运行rake asset:precompile是否总是返回相同的文件名?

时间:2019-04-24 17:02:34

标签: ruby-on-rails docker ruby-on-rails-5

我正在对我的Rails应用进行docker化,并考虑将资产编辑从映像构建移到容器启动命令中。如果我只运行一个容器,这应该很好,我担心如果缩放并旋转另一个容器是否会导致文件名冲突等。

如果我在不更改代码的情况下运行两次编译,它将输出不同的文件名吗?

1 个答案:

答案 0 :(得分:2)

Sprockets将文件内容的SHA256哈希插入名称中。如果内容不变,则哈希将相同。

在现金钥匙上设置注释:https://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark
生成摘要的链轮方法:https://github.com/rails/sprockets/blob/master/lib/sprockets/digest_utils.rb#L91