Я недавно проверил свой проект из SVN. Я столкнулся с «Uncaught ReferenceError: $ не определен», где бы я ни использовал «$», т.е. Jquery. Я использую Laravel Mixer для объединения файлов JS и CSS.
Это мое bootstrap.js
window._ = require('lodash');
window.Popper = require('popper.js').default;
window.tooltip = require('tooltip.js');
try {
window.$ = window.jQuery = require('jquery');
require('jquery-ui-dist/jquery-ui.min.js');
require('bootstrap');
} catch (e) {}
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
//Moment JS
window.moment = require('moment');
//Collect JS
window.collect = require('collect.js');
//Clipboard JS
window.ClipboardJS = require('clipboard');
//Import Toster
window.toastr = require('toastr');
//Swaet Alert
import Swal from 'sweetalert2';
window.swal = Swal;
//Owl Carousel
window.owlCarousel = require('owl.carousel');
//JS Cookie
window.Cookies = require('js-cookie');
//Image Zoom
require('ez-plus');
Это мое webpack.mix.js
let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js').sourceMaps()
.sass('resources/assets/sass/app.scss', 'public/css');
Моя версия Laravel: 5.5.40
laravel-mix Версия: 1.7.2
Это сработало для меня:
Удалить отсрочку из app.js
сценарий тег и изменение window.$ = window.jquery =
в global.$ = global.jquery =
Погода или нет, это правильный способ сделать это, это сработало для меня.
Ларавелла 5.7
Других решений пока нет …