2015-05-14 55 views
10

我想使用Laravel Elixir來縮小我的css/files文件。但我不想使用混合方法併合並它們。我想要的只是從我的原始「custom.js」中生成一個「custom.min.js」文件。有沒有辦法與Elexir做到這一點?Laravel Elixir:如何縮小文件?

編輯: 爲了讓它更清楚一點:我最大的問題是,我在「資源/資產」中有兩個文件夾:js和css。所以我基本上想要縮小那裏的所有文件,並讓它們在「public/js」和「public/css」中縮小。

回答

21

報價從Laravel documentation

注:所有任務將承擔的開發環境,並排除縮小。對於生產,請使用gulp --production

這意味着如果你想要文件被縮小運行gulp --production而不是隻是gulp。這是比直接在gulp文件中啓用壓縮更好的做法,並確保您可以在開發應用程序時調試編譯的文件。

如果你希望他們被放置在public/assets/css使用路徑作爲第二個參數:

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

我更喜歡有一口在同時運行,讓您得到既開發和生產文件。然後在我的應用程序中,基於環境,我只需加載相應的應用程序。這比每次記住運行縮小都好得多。 – Oddman

1

如果你只是想複製.css文件,而無需使用小於或SASS,而不想合併文件(即你想要的東西就像一個copy()方法與縮小的能力),可以使用方法相結合,styles(),由稱這是對每一個.css文件,並通過文件名的字符串數組沒有,例如:

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

同樣可以使用scripts()方法.js文件來完成:

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

然後您可以使用gulp(不會縮小,創建.map文件)或gulp --production(創建縮小的文件),如上面的帖子中所述。

0

直起Laravel /藥劑文檔:

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 

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