Я создаю веб-приложение на основе Laravel 5.8 + Laravelmix + bootstrap + Vue (именно так Lravel выходит из коробки)
Проблема в том, что модалы начальной загрузки не будут работать - не из-закоробка по крайней мере. Если вы попытаетесь запустить модальный режим, вы получите ошибку в консоли, касающуюся компонента карты поппера (необходим jquery), который есть (на самом деле), но по какой-то причине он не добавляется должным образом в микс.
Это известная проблема: я нашел другие вопросы и темы об этой проблеме в Stackoverflow, однако ...
Проблема в проблеме: все существующие QAs, которые я нашел, принимают как должное, кто читает, знает довольномного о нпм вэбпак и микс ларавеллы ... а я нет! :-( Я в основном бэкэнд-разработчик, а не разработчик внешнего интерфейса: я знаю базовый Javascript, но не очень разбираюсь в веб-пакете и не смог применить предложенные решения к своему делу.
Может ли кто-нибудь объяснить мне в ясной форме, как должны выглядеть мои js-ресурсы, чтобы они работали ???
Это мой файл webpack.mix:
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
Это мои ресурсы /Файл js / app.js:
require('./bootstrap');
window.Vue = require('vue');
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
const app = new Vue({
el: '#app',
});
Это начало моего файла resoureces / js / bootstrap.js:
window._ = require('lodash');
try {
window.Popper = require('popper.js').default;
window.$ = window.jQuery = require('jquery');
require('bootstrap');
} catch (e) {}
window.axios = require('axios');
И, наконец, это мой package.jsonфайл:
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.18",
"bootstrap": "^4.0.0",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^4.0.7",
"lodash": "^4.17.5",
"popper.js": "^1.12",
"resolve-url-loader": "2.3.1",
"sass": "^1.20.1",
"sass-loader": "7.*",
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
}
}