#1
- you want to separate js files into three:
where your CDN js use this code:
<script src="{{ mix('/js/manifest.js') }}"></script>
<script src="{{ mix('/js/vendor.js') }}"></script>
<script src="{{ mix('/js/app.js') }}"></script>
and in your webpack.mix.js file:
mix.js('resources/assets/js/app.js', 'public/js')
.extract(['jquery', 'vue','select2','slick'])
.sourceMaps()
.version();
and inside your resources/assets/js/bootstrap.js you must include (jquery, select2, slick).
try {
window.$ = window.jQuery = require('jquery');
// require('./node_modules/select2/dist/js/select2.min.js');
// require('./node_modules/slick/index.js');
require('select2');
require('slick');
} catch (e) {}
after install them like this:
yarn add jquery Prefer or npm install jquery and the same for other:
yarn add select2 and yarn add slick
- or using single js file!! like this:
<script src="{{ mix('/js/app.js') }}"></script>
and in webpack.mix.js file:
mix.js([
'./node_modules/jquery/dist/jquery.min.js',
'./node_modules/select2/dist/js/select2.min.js',
'./node_modules/slick/index.js',
'resources/assets/js/app.js',
],'public/js')
.sourceMaps()
.version();
#2
in bootstrap.js :
try {
window.$ = window.jQuery = require('jquery');
} catch (e) {}
importing every time in every single component, its BAD IDEA.