我正在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
应用服务器正在重新运行,我不知道这是否相关。
有什么想法吗?
答案 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。