Laravel Mix Auto Extract Vendors Plugin
Laravel Mix plugin to auto extract 3rd party dependencies as vendor.js
.
What was the problem?
- Laravel Mix already has a
extract()
method which accepts an array of dependencies that you want to extract asvendor.js
- Whenever you install a new package, you also need to update this list to make it work.
- Read more on this issue
How does this plugin solve above issue?
- This plugin will auto extract all js dependencies coming from
node_modules
tovendor.js
file. - You just need to reference them in your code somewhere. For example:
// app.js;;
- Now
vue
andaxios
will be auto extracted tovendor.js
file
Requirements
- Laravel Mix >=2.1.0
Installation
# npm npm install laravel-mix-auto-extract --save # yarn yarn add laravel-mix-auto-extract
Usage
Update your webpack.mix.js
const mix = ;// Require this package;// Your code may go here// mix.js('./resources/assets/js/app.js', './public/js/app.js')// mix.version()// Call this method at lastmix;
Then update your blade template
<script src="{{ mix('js/manifest.js') }}"></script><script src="{{ mix('js/vendor.js') }}"></script><script src="{{ mix('js/app.js') }}"></script>
Remove any reference to extract()
method in webpack.mix.js
Configuration Options
Here are the default options, all of them are optional.
mix;
Paths are relative to the default output directory, usually ./public
.
⚠️ Caution
Don't use autoExtract()
method along with extract()
method.
Changelog
Please see CHANGELOG for more information what has changed recently.
License
MIT License