Laravel Q & A


How to compile assets with Laravel Mix?

Compiling assets with Laravel Mix is like having a magic wand that transforms your raw frontend code into optimized assets ready for production—it’s a straightforward process that streamlines the management of JavaScript, CSS, and other frontend assets in your Laravel application. Let’s explore how to compile assets with Laravel Mix in a user-friendly way:


Set Up Your Environment: Before you can compile assets with Laravel Mix, ensure that you have a Laravel application set up and running on your local machine. Laravel Mix comes pre-installed with Laravel, so you don’t need to install anything separately.


Create Your Assets: Write your frontend code using languages like JavaScript, CSS, Sass, Less, or even TypeScript. Organize your assets in the resources/js and resources/sass directories for JavaScript and CSS/Sass files, respectively. You can also use subdirectories to keep your code organized and maintainable.


Configure Laravel Mix: Laravel Mix configuration is managed through the webpack.mix.js file located in the root directory of your Laravel application. Open this file and define your asset compilation tasks using Laravel Mix’s expressive API.


Define Compilation Tasks: In the webpack.mix.js file, you can define compilation tasks for your frontend assets. For example, you can use the mix.js() method to compile JavaScript files and the mix.sass() method to compile Sass files. Laravel Mix provides a fluent API for chaining methods to define input and output paths, apply transformations, and set compilation options.


Run the Compilation Command: Once you’ve defined your asset compilation tasks, you can run the compilation command in your terminal. Simply execute the following command:


npm run dev

This command tells Laravel Mix to compile your assets for development. If you want to compile assets for production, you can use the npm run prod command instead.


View Compiled Assets: After running the compilation command, Laravel Mix will generate compiled assets in the public directory of your Laravel application. You can include these compiled assets in your views or layouts using Laravel’s asset helper functions.


Watch for Changes: During development, you can use the npm run watch command to watch for changes to your frontend assets and automatically recompile them whenever changes are detected. This provides a seamless development experience and eliminates the need to manually run the compilation command after making changes to your code.


By following these steps, you can compile assets with Laravel Mix and streamline the management of frontend assets in your Laravel application. Laravel Mix’s intuitive API and integration with Laravel make it easy to compile, optimize, and manage frontend assets, allowing you to focus on building great user experiences for your web applications.

Previously at
Flag Argentina
time icon
Experienced Full Stack Engineer with expertise in Laravel and AWS. 7 years of hands-on Laravel development, leading impactful projects and teams.