我正在用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应用服务器正在运行rerun,我不知道这是否相关。
有什么想法吗?
发布于 2018-11-01 17:56:52
Assets插件依赖于SHA摘要来命名编译后的资产,以便进行subresource integrity检查。每次对app.js文件进行更改时,摘要都会更改,因此会生成新的文件名。
您可以通过在插件方法调用中将sri option设置为nil来禁用它:
class App < Roda
plugin :assets, css: 'style.scss', js: 'app.js', sri: nil
end在生产环境中,您可能希望让SRI处于打开状态。尤其是当你打算使用CDN的时候。
https://stackoverflow.com/questions/53030800
复制相似问题