亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么Rails4在Gemfile中放棄對“資產”組的支持

為什么Rails4在Gemfile中放棄對“資產”組的支持

函數式編程 2019-12-21 10:57:04
在Rails 3中,專門用于在資產管道中生成資產的gem被正確放置在assetsGemfile組中:...# Gems used only for assets and not required# in production environments by default.group :assets do  gem 'sass-rails'  gem 'coffee-rails'  gem 'uglifier'  # See https://github.com/sstephenson/execjs#readme for more supported runtimes  # gem 'therubyracer', :platforms => :rubyend現在,根據(仍在進行中的)升級文檔:Rails 4.0從Gemfile中刪除了資產組。升級時,您需要從Gemfile中刪除該行。當然,使用RC1進行新項目會產生一個Gemfile,其中默認包含任何組之外的資產相關的gem:source 'https://rubygems.org'# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'gem 'rails', '4.0.0.rc1'# Use sqlite3 as the database for Active Recordgem 'sqlite3'# Use SCSS for stylesheetsgem 'sass-rails', '~> 4.0.0.rc1'# Use Uglifier as compressor for JavaScript assetsgem 'uglifier', '>= 1.3.0'# Use CoffeeScript for .js.coffee assets and viewsgem 'coffee-rails', '~> 4.0.0'# See https://github.com/sstephenson/execjs#readme for more supported runtimes# gem 'therubyracer', platforms: :ruby...這是否意味著這些寶石現在將默認捆綁在生產版本中?如果是這樣,為什么會改變主意?Rails 4是否正在朝著生產中動態生成資產的方向邁進?
查看完整描述

3 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

以前,資產組的存在是為了避免生產中意外進行按需編譯。由于Rails 4不再具有這種行為,因此刪除資產組是有意義的。


在更改了該內容的提交中對此進行了更詳細的說明。我用實際答案提取了一些引號。


如果您使用的是咖啡模板,則可能需要(生產中的)一些寶石,例如咖啡軌,并且現在不再按需在生產中預編譯資產這一事實。


(不是在生產中按需進行預編譯)意味著,如果您在3.2.x的生產環境中擁有該gems而忘記進行預編譯,則Rails將完全按照其在開發中的工作進行操作,并預編譯所請求的資產。在Rails 4中,情況不再如此,因此,如果您不使用任務對資產進行預編譯,則在請求資產時將獲得404。


查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 698 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號