Я только что установил приложение Laravel 9, добавленное Select2 и jQuery с NPM, передал то, что мне нужно было передать в VITE.Config.js и App.js, jQuery загружается до того, как Select2 будет загружен, и все же, все же, Select2 Throws < /p>
Uncaught ReferenceError: jQuery is not defined
at select2.min.js:2:241
at select2.min.js:2:249
< /code>
Я даже провел тест div#и использовал jQuery, чтобы положить в него «ОК», когда окно загружается, он изменяется на «ОК», но тогда почему Select2 жалуется?
"dependencies": {
"jquery": "^3.6.1",
"select2": "^4.1.0-rc.0"
}
< /code>
vite.config.json
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
],
resolve: {
alias: {
'$': 'jQuery',
},
},
});
< /code>
app.js
import "./bootstrap";
import $ from "jquery";
window.$ = $;
// import { Select2 } from "select2"; // does nothing when uncommented
import 'select2'; // does nothing
$("#test").html("ok");
$(document).on("load",function() { // does nothing
$(".js-example-basic-single").select2();
});
< /code>
index.blade.php
just partial paste
@vite(['resources/css/app.css', 'resources/js/app.js'])
Подробнее здесь: https://stackoverflow.com/questions/746 ... -something