2014-02-16 146 views
2

我试图找到资产管道在网络中的重要性,但无法弄清楚。为什么少数宝石被放置在组中:资产和提到的生产中不需要注释部分?我有三个小问题需要澄清。轨道中的资产管道

资产管道是什么意思? 为什么我们需要资产组? 为什么我们不需要生产这些宝石?

# Gems used only for assets and not required 
# in production environments by default. 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

回答

2

基本阅读这里:http://guides.rubyonrails.org/asset_pipeline.html

什么是资产管道?

资产管道提供框架 来连接和缩小或压缩JavaScript和CSS资产。它 还增加了使用其他语言编写这些资产的能力,例如 CoffeeScript,Sass和ERB。

原因这些特殊宝石分成自己的团体,是他们并不需要在生产中,在运行时rake assets:precompile,它创建的所有资产的形式,Web浏览器可以理解(这些都是一旦你已经部署,存储在公共目录中)

eg CoffeeScript被编译成javascript,sass被编译成CSS。 Uglifier只是简化了JavaScript。

+0

所以当我们转向生产时,借助'rake assets:precompile'命令,所有这些资产都存储在PUBLIC文件夹中,这样就不再需要这些宝石了。我的理解是正确的吗? – user3358898

+0

编译需要宝石,但他们的代码不需要在生产应用程序中加载 – Mikey

+0

哦,我getit ..谢谢兄弟。 – user3358898