Roda-每次保存时资产重复

时间:2018-10-28 11:05:48

标签: roda

我正在Roda中构建一个非常简单的应用程序,由于某种原因,每次我保存css或js文件时,它都会编译资产并在公共资产文件夹中创建重复项。我有大约20个相同的CSS和JS文件,但每个文件都有不同的资产预编译前缀。这是代码:

require 'roda'
require_relative './app'

class App < Roda
  plugin :render
  plugin :assets, css: 'style.scss', js: 'app.js'
  compile_assets

  route do |r|
    r.assets

    r.root do
      view 'app'
    end
  end
end

应用服务器正在重新运行,我不知道这是否相关。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

资产插件依靠SHA摘要来命名已编译资产,以进行subresource integrity检查。每次在app.js文件中进行更改时,摘要都会更改,因此会生成新的文件名。

您可以通过在插件方法调用中将sri option设置为nil来禁用它:

class App < Roda
  plugin :assets, css: 'style.scss', js: 'app.js', sri: nil
end

在生产中,您可能希望保留SRI。尤其是如果您打算使用CDN。