2013-10-07 12 views
11

Pracuję nad projektem, który nie zminimalizuje CSS ani JS w produkcji.Szyny niezmineralizujące

Niestety nigdy nie miałem tego problemu, a ja po prostu nie jestem bardzo dobrze zaznajomieni z jak działa rurociągów atutem w szczegółach do debugowania problemu.

Moje pytanie brzmi, jakie są główne punkty/ustawienia, które należy sprawdzić, aby upewnić się, że jest włączony?

To jest właściwie łączenie różnych plików do jednego pliku JS i CSS ... to jest po prostu nie minifying.

tej pory Dodałem config.assets.js_compressor = :uglifier do production.rb i uglifier do Gemfile, ale nadal nie ma kości.

Używam Rails 3.2.12 przeniesieni z Rails 2

Odpowiedz

33

Ta odpowiedź dotyczy szyny 4

Jednym z powodów, dla których rails-4 nie zminimalizuje aktywów, jest sytuacja, gdy RAILS_ENV nie jest ustawiony na produkcję.

Dzieje się tak zwykle, gdy aktywa wstępnie skompilować i uruchomić w trybie WEBrick prod używając:
rails s -e 'production'
ale nadal uzyskany application.css i application.js są łączone ale nie minified.

Aby rozwiązać ten problem, należy użyć następujących czynności, aby określić env podczas prekompilacja aktywa:

$ aktywa RAILS_ENV = produkcja bundle exec Zgrabiarka: prekompilacji

Również jeśli aktualizujesz z szyn 3 do tory 4, należy pamiętać, że dyrektywa config.assets.compress = true w pliku production.rb nie jest już obowiązująca dla szyn 4. W pliku config/environments/production.rb należy dodać następujące dyrektywy, aby zminimalizować pliki js i css:

# Compress JavaScripts and CSS. 
    config.assets.js_compressor = :uglifier # make sure the 'uglifier' gem is included before adding this line 
    config.assets.css_compressor = :sass # if you are using the sass-rails gem, this line is unnecessary 
+3

Zauważ, że jeśli używasz 'Sass-rails', nie ma potrzeby, aby określić' config.assets.css_compressor', jako stanów dokumentacja (http://guides.rubyonrails.org/asset_pipeline.html#what-is-the- asset-pipeline-questionmark) – mdemolin

+0

Zwróć uwagę, że działające zasoby: prekompilacja po raz drugi nic nie da, chyba że oryginalne pliki uległy zmianie. Nie zobaczysz zmian w produkcji, dopóki nie odbijesz swojego serwera. –

0

Skąd wiesz, że to nie minifying? Czy używałeś/używasz capistrano do wdrożenia? Jeśli używasz Capistrano dla wdrażania upewnij się, aby dodać tę linię na górze deploy.rb

load 'deploy/assets' 

przeciwnym razie proszę pisać kroki jesteś nabiera coraz to pracować