2016-12-13 28 views
2

我希望能夠使用elixir來縮小腳本和css文件。Laravel Web應用程序elixir縮小腳本和css

在我的總體佈局,我已經包含了這些文件分別

{!! Html::script('plugin/Flat-UI/js/flat-ui.min.js') !!} 
{!! Html::style('plugin/Flat-UI/css/flat-ui.min.css') !!} 
{!! Html::script('plugin/JQuery-UI/Flick/jquery-ui.js') !!} 
{!! Html::style('plugin/JQuery-UI/Flick/jquery-ui.css') !!} 

據我所知,縮小將所有文件合併成一個文件吧? 如果出現這種情況,是否需要手動更改主佈局,使其 僅包含一個文件而不是如上所示?

{!! Html::script('minify.js') !!} 

回答

1

藥劑不喜歡的工作。

如果您使用Laravel 5,默認的仙丹配置,這是一個:

elixir(mix => { 
    mix.sass('app.scss') 
     .webpack('app.js'); 
}); 

這意味着在資源/資產全部SCSS /上海社會科學院/ app.scss將被轉換爲CSS和事後精縮。

所以,你需要在資源/資產/上海社會科學院/ app.scss配置app.scss並導入所有的css文件有:

// in app.scss 
@import "plugin/Flat-UI/css/flat-ui.min.css" 
@import "plugin/JQuery-UI/Flick/jquery-ui.css" 

運行一飲而盡在控制檯中,應用後。 css文件將在公共/ CSS創建,包括它,你是好去:

<link rel="stylesheet" href="/css/app.css" /> 

至於你的腳本文件,你需要改變仙丹的默認實現

elixir(mix => { 
    mix.sass('app.scss') 
     .scripts([ 
      // all files you want mixed into one 
      'plugin/Flat-UI/js/flat-ui.min.js', 
      'plugin/JQuery-UI/Flick/jquery-ui.js', 
     ]); 
}); 

這將創建一個public/js/all.js文件,您可以將其包含在您的頁面中。

這是laravel文檔寫得好,如果你仍然有在這之後的問題:

https://laravel.com/docs/5.3/elixir#javascript

希望這有助於:)

+0

感謝您的回覆〜它清楚我的疑惑。是否有可能將所有css + js縮減爲1個文件,而不是2個文件minify.css&minify.js? –

1

我猜你是在談論使用laravel靈藥,那麼是的,但使用一個輔助生成的URL

<script src="{{ elixir('js/minify.js', '/') }}"></script> 
+0

嗨〜感謝您的幫助。 elixir助手做什麼,這個助手會自動縮小js/css?如果我使用這個幫手,我還需要手動運行gulp來生成minify文件嗎? –