rake资产之间的区别是什么:precompile和RAILS_ENV =生产佣金资产:预编译?

时间:2014-06-04 04:42:12

标签: ruby-on-rails assets

这两个任务之间有什么区别,为什么我需要在上限部署时添加RAILS_ENV =生产?

谢谢!

3 个答案:

答案 0 :(得分:6)

您需要指定RAILS_ENV=production环境变量,以便在预编译资产时使用config/environments/production.rb配置文件。它通常包含资产管道的生产配置:

config.assets.js_compressor = :uglifier
config.assets.digest = true

如果省略RAILS_ENV=production,则会使用development配置(config/environments/development.rb)。

答案 1 :(得分:1)

第一个将在您的本地开发框(开发环境)上预编译您的资产,另一个将在您的生产环境中预编译您的资产。您在配置文件中的设置很可能是不同的,因此它将根据您设置RAILS_ENV的任何内容配置环境配置中的内容。

答案 2 :(得分:0)

写作评论但是太长了......

-

生产与本地

您还需要考虑的一点是,如果您正在为production环境进行预编译,那么它基本上是编译和放大的。配置文件 该环境

简单地说,这意味着如果您只有生产的特殊条件/依赖项,使用RAILS_ENV=production将在本地设置中使用这些条件/依赖项。这就是您在Gemfile

中进行此设置的原因
#Gemfile
group :production do
   gem 'xxxx'
end

-

SHELL VARIABLES

您需要欣赏的其他内容是RAILS_ENVSHELL VARIABLE。这意味着无论何时运行shell session(I.E load cmd),都可以设置这些变量以提供特定功能。

RAILS_ENV相关,这意味着您可以告诉Rails暂时以production模式运行;而不是在developmenttestingstaging模式中运行

相关问题