我试图找出网络中 Assets 管道的重要性,但无法弄清楚它。为什么很少有 gem 被放置在组: Assets 中,并且在评论部分提到生产中不需要?我有三个小问题需要澄清。
Assets PIPELINE 到底是什么意思? 为什么我们需要 Assets 组? 为什么我们在生产中不需要这些 gem ?
# 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
最佳答案
这里的重要阅读:http://guides.rubyonrails.org/asset_pipeline.html
What is the Asset Pipeline?
The asset pipeline provides a framework to concatenate and minify or compress JavaScript and CSS assets. It also adds the ability to write these assets in other languages such as CoffeeScript, Sass and ERB.
将这些特定的 gem 分成自己的组的原因是,它们在生产中不需要,当运行 rake assets:precompile
时,它会以 Web 的形式创建所有资源。浏览器可以理解(部署后这些内容将存储在公共(public)目录中)
例如CoffeeScript被编译成javascript,sass被编译成CSS。 Uglifier 只是缩小了 javascript。
关于ruby-on-rails - rails 上的 Assets 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21818493/