首先,确保您的 app/assets/javascripts/delivery.js 不在您的顶级“清单”javascript 文件(即 app/assets/javascripts/application.js)中。application.js 通常包含//= require_tree .
,所以它默认包含你的 delivery.js 。你需要改变它。对于您希望在 application.js 中预编译和组合的所有资产,将“require_tree”替换为单独的“require”语句。
接下来,更新您的环境文件(用于生产环境的 config/environments/production.rb)以将您的文件包含在预编译资产列表中:
config.assets.precompile += %w( delivery.js )
现在,您将在 public/assets 目录中将它作为一个单独的文件,以与 application.js 相同的方式编译和压缩。请记住,它的名称附加了一个摘要,类似于您的 application.js(当然,除非您通过设置 config.assets.digest = false 来提供没有摘要的文件)。