Ruby on rails 什么';更改application.js与config.assets.precompile有什么区别?

Ruby on rails 什么';更改application.js与config.assets.precompile有什么区别?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,asset-pipeline,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Asset Pipeline,我正在研究资产预编译,我很困惑 假设我创建了一个新的应用程序,比如railsnewdummy 这是生成的app/assets/javascripts/application.js // This is a manifest file that'll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within th

我正在研究资产预编译,我很困惑

假设我创建了一个新的应用程序,比如
railsnewdummy

这是生成的
app/assets/javascripts/application.js

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

它说
这是一个清单文件,将被编译成application.js
。到目前为止仍然很清楚,但我发现我们可以在
config/application.rb
下设置另一个配置:
config.assets.precompileapplication.js文件用于Javascript,顾名思义。由于文件中的以下行,jquery、jquery_ujs、turbolinks javascript库以及/app/assets/javascripts文件夹中的每个javascript文件都将被预编译

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
您可以使用“config.assets.precompile”添加其他要预编译的内容,例如字体文件和Rails默认无法识别的其他文件。您也可以使用它包含javascript文件。但是,这样的需求很少

例如

config.assets.precompile += %w( .svg .eot .woff .ttf )
我希望这是有道理的