Nasıl Raylar Varlık Boru hattı derleme işlemi hızlandırabilir misin?
Raylar Varlık Boru hattı derleme sürecini hızlandırma yöntemleri nelerdir?
CEVAP
1. Capistrano dağıtım hızlanma
(1) kullanmak capistrano yerleşik görev '/varlıklar' dağıtmak. dağıtmak
Capistrano kendi dahili görev '/aktif görev'. Sizin için otomatik olarak görev yapacak.
Kendi el sanatları görev arasındaki fark sadece yük assets
grup varlıklar, tüm çevre değil, derleme.
cd /home/apps/APP_NAME/releases/20120708184757 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile
(2) derleme işlemi varlıklar değişmez zaman atlayın.
https://gist.github.com/3072362
Eğer
- /varlıklar uygulaması
- varlıklar/lib
- satıcı/varlıklar
- Gemfile.kilit
- /yollar confir.rb
değiştirilir, varlıklarını yeniden. Aksi takdirde, pecompile işlemi atlar, çok zaman tasarrufu.
2. Kullanın @import dikkatle.
(1) kaçının doğrudan @import "compass";
kullanarak.
Hem sen ne zaman işe yarayacak
@import "compass";
veya SCSS @import "compass/typography/links/link-colors";
.
Ama @import "compass/typography/links/link-colors";
varlıklar derlerken 9 kat daha hızlı @import "compass";
daha.
@import "compass";
, pusula varlıklar derleme tüm zaman çünkü. *13 bölüm sadece.
(2) önlemek parçaları kullanarak
SCSS, partial
varlıklarımızı organize etmek istiyoruz.
Ama eğer değişkenler, ya da gerekli bağımlılıklar vardır, aksi halde paylaşmak gerekir
//= require "reset"
//= require "base"
//= require "product"
daha hızlı
@import "reset";
@import "base";
@import "product";
3. gerekmez .scss & .sebepsiz yere kahve
(1) önlemek require_tree kullanarak
Kullandığımızda jeneratör denetleyicileri oluşturmak için Raylar. Raylar da varlıklar bunu beğendi oluşturur
- ürün.css.scss
- ürün.js.kahve
ve application.js bu tekniği kullanarak: varlıklar monte edin
//= require_tree
Ama sadece bu satırları içeren boş varlıklar (çıkış yok):
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
Onları görebilmek için her konuda 250ms mal olacak. Eğer 10 boş bir varlık varsa, 2.5 saniye sürer .
Projenizin bunları kaldırmak, ya da onları bu şekilde: application.js tek tek monte edin
//= require prodcuts
//= require users
//= require albums
(2) css.scss
kullanmayın ya da gereksiz olursa js.coffee
.
- Jquery-ui-1.8.16 derlenmiş.özel.(0ms) (pıd 19108) css
- Bir WordPress kullanmak derlenmiş.uı.1.8.16.yani.(0ms) (pıd 19108) css
- Derlenmiş jquery.js (5 ms) (pıd 19108)
- Derlenmiş jquery_ujs.js (0ms) (pıd 19108)
- Özel derlenmiş.(14ms) (pıd 19108) css
custom.css
custom.css.scss
CSS ve JS saf saf hızlı ( neredeyse 0 ms maliyeti) derleme. Ama derleme .scss ve .kahve hala biraz zamana mal oldu.
Özetlemek
- dağıtmak yerine.rb varlıkları görev.
kontrol/üretim kaydeder.günlük
- yavaş varlıkları bulmak
- @import Kaldır""; alternatif çözüm kullanın. pusula
- kullanmak yerine gerektirir @alma; ( gerçekten gerekli olduğunda @import kullanın )
- require_tree, mount varlıkları tek tek kaldırın
- boş Kaldır .scss ve .coffeescript
- kullanın .varlıkların saf olduğunda css CSS.
Nasıl (dişliler) varlık boru hattı ile...
Raylar 3.1 varlık boru hattı: nasıl de...
Raylar ile kullanarak yazı varlık boru...
Varlık boru hattı raylar: /satıcı/varl...
görüntüleri önceden derlenmiş değil sa...