Javascript 已编译的文件无法获取指纹轨道
我有许多部署应用程序的环境。在其中两个示例中,我为资产部署了以下配置:Javascript 已编译的文件无法获取指纹轨道,javascript,ruby-on-rails,ruby,asset-pipeline,Javascript,Ruby On Rails,Ruby,Asset Pipeline,我有许多部署应用程序的环境。在其中两个示例中,我为资产部署了以下配置: config.assets.enabled = true config.assets.compress = false config.assets.compile = true config.assets.precompile = false config.assets.digest = true config.assets.debug = false config.serve_static
config.assets.enabled = true
config.assets.compress = false
config.assets.compile = true
config.assets.precompile = false
config.assets.digest = true
config.assets.debug = false
config.serve_static_assets = true
我的applicaton.js在上面编译了许多.js文件,但它没有得到指纹,所以我不会向已经缓存了指纹的客户提供更改
然后,该网页为除application.js
从哪里开始查找此故障?罪魁祸首是以下选项:
config.assets.compile=true
它将实时编译每个没有指纹的文件,并直接为rails服务
应将其设置为false,并使用config.assets.precompile
,其中应包含所有预编译字段的列表:
config.assets.precompile+=%w(application.js foo.js)
然后不要忘记在部署任务中运行rakeassets:precompile
,以重新编译新资产
另一方面,您还应该将
config.service\u static\u assets
设置为false,并让nginx/apache/您的web服务器为您处理,从rails提供资产会带来很大的开销。我不太担心现阶段的性能。我的观点是,所有其他资产都在进行预编译,但application.js没有。