ruby-on-rails - rails 上的 Assets 管道

标签 ruby-on-rails ruby assets

我试图找出网络中 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/

相关文章:

ruby-on-rails - 嵌套形式和茧。未定义方法 `label' 为 nil :NilClass

提取周围方法的 JavaScript 版本

html - 如何重写网络服务器子目录上的绝对 Assets 路径

ruby-on-rails - 在 Ruby 中调用没有模块名称的模块类方法

ruby-on-rails - before_filter set_locale 除了 Controller

ruby-on-rails - ruby /rails : create a class method that operates on instances of its children?

ruby - 将 Redis 事务包装在数据库事务中

css - 从公共(public) Assets 下的 css 文件导入另一个 css 文件不适用于 play 2.0.4

java - 可执行 LibGDX Jar 文件不加载资源

ruby-on-rails - 我正在使用 `fcm` gem 发送推送通知,它适用于 Android,但不适用于 IOS