2015-05-14 17 views
10

Chcę użyć Laravel Elixir do minify moje pliki css/files. Ale nie chcę używać metody mix-methode i łączyć ich. Wszystko czego chcę, to wygenerować plik "custom.min.js" z mojego oryginalnego "custom.js". Czy można to zrobić za pomocą Elexir?Eliksir Laravel: Jak zminimalizować pliki?

EDYTOWANIE: Aby uczynić go nieco jaśniejszym: Moim największym problemem jest to, że mam dwa foldery w "resources/assets": js i css. Więc zasadniczo chcę zminimalizować wszystkie pliki w tym miejscu i zminimalizować je w "public/js" i "public/css".

Odpowiedz

21

Cytat z Laravel documentation:

Uwaga: Wszystkie zadania przejmie środowisko programistyczne i wykluczy minifikacji. Do produkcji użyj gulp --production.

Oznacza to, że jeśli chcesz pliki do minified bieg gulp --production zamiast tylko gulp. Lepsza praktyka niż włączanie kompresji bezpośrednio w pliku gulp i zapewnia możliwość debugowania skompilowanych plików podczas tworzenia aplikacji.

Jeśli chcesz je umieścić w public/assets/css użyć ścieżki jako drugi parametr:

mix.less('app.less', 'public/assets/css'); 
+9

wolę mieć łyk uruchomić zarówno w tym samym czasie, więc można dostać zarówno dev i produkcyjnych plików. Następnie w mojej aplikacji, w oparciu o środowisko, po prostu ładuję odpowiedni. Jest to o wiele lepsze niż pamiętanie o tym, aby za każdym razem uruchamiać minifikację. – Oddman

1

Jeśli chcesz po prostu skopiować .css plików, bez korzystania z mniej lub Sass, i nie chce się połączyć pliki (tj chcesz coś jak copy() metody z możliwością minifikacji) można użyć metody łączenia, styles() przez nazywając go dla każdego pliku .css i przechodzącej string nazwa_pliku bez tablicy, na przykład:

mix.styles('some.css'); 
mix.styles('node_modules/bootstrap/dist/css/bootstrap.css', null, './'); 

samo można zrobić za .js plików przy użyciu scripts() metody:

mix.scripts('some.js'); 
mix.scripts('node_modules/bootstrap/dist/js/bootstrap.js', null, './'); 

A następnie można użyć gulp (nie zamienia, tworzy pliki .map) lub gulp --production (tworzy zminimalizowane pliki), jak wspomniano w powyższych postach.

0

Prosto z docs laravel/Elixir:

Elixir is built on top of Gulp, so to run your Elixir tasks you only need to run the gulp command in your terminal. Adding the --production flag to the command will instruct Elixir to minify your CSS and JavaScript files: 

Run all tasks... gulp 

Run all tasks and minify all CSS and JavaScript... gulp --production 

docs: https://laravel.com/docs/5.3/elixir#running-elixir

Powiązane problemy