Laravel Mix slouží především ke pohodlnému a poměrně jednoduchému zkompilování frontendových souborů jako jsou CSS styly nebo javascripty. Laravel Mix je nástavba nad Webpackem (dřívější předchůdce Laravel Elixir byl naopak API nádstavbou gulpu), což je opravdu komplexní modulový bundler, který vše připraví pro prohlížeč. Nicméně jeho hlavní nevýhodou je to, že potřebuje něco málo času pochopit jak funguje a jak s ním pracovat. Za účelem zjednodušit tuto učící křivku vznikl Laravel Mix, který nabízí jednoduché API pro konfiguraci webpacku.

Dle dokumentace Mix pokrývá až 80% všech webpack případů. Pokud tedy například potřebujete pouze zkompilovat novější javascript či spustit CSS preprocesor, pak Mix je ideální nástroj.

Instalace

Laravel mix je npm balíček, takže ho lze jednoduše nainstalovat (nový Laravel projekt již tento balíček automaticky obsahuje):

npm install laravel-mix --save-dev

Poté můžeme definovat svůj vlastní build v konfiguračním souboru webpack.mix.js nacházející se v kořenu projektu, např:

mix.js('src/app.js', 'dist')
   .sass('src/styles.scss', 'dist');

A to je prakticky vše. Mix tento soubor přečte a zkonstruuje potřebnou webpack konfiguraci pro vytvoření buildu.

Nakonec zbývá pouze zkompilovat kód pomocí příkazu:

npm run dev

Případně jakýkoliv jiný skript definovaný v kořenovém package.json

Závěr

Laravel Mix samozřejmě nabízí více než jen javascriptovou a Sass kompilaci. Mix umožňuje kopírování souborů, minifikaci, CSS autoprefixování, Vue support, sourcemapování, vendor extrakci a mnoho dalšího. Více informací o tom co všechno Laravel Mix dokáže najdete v oficiální dokumentaci.