0

vendor/assets/javascripts在我的项目中,我在andvendor/assets/stylesheets目录中有第三方 JavaScript 和 Css 文件。javascript_include_tag在开发模式下,我可以使用andstylesheet_include_tag方法引用这些目录中的资产。

但是,当我运行命令时,这些脚本不会被预编译,rake assets:precompile因此无法在生产中访问。

有人可以说为什么目录中的资产vendor会被 rake 任务忽略吗?

4

1 回答 1

1

我能够回答我自己的问题。

这对我来说并不明显,但确实有道理。除了application.cssandapplication.js文件,所有其他 .js/.css 文件都会被预编译 rake 任务忽略。因此,只要//= require name_of_script在文件中使用约定引用您的脚本和样式表,application.js/.css它们就会很好地附加到相关文件中。

但是,如果您不希望将某些脚本放置在application.js/.css文件中,那么您需要明确告诉 Rails 您仍然希望使用该行config/environment/production.rb或其他相关运行时环境配置文件中的这一行来预编译它们:

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w( morris.min.js raphael.min.js )
于 2013-05-01T00:36:56.937 回答