, поэтому я сделал следующее, что, похоже, решило множество проблем, которые запутывают людей с помощью jQuery и Laravel Mix (4.0):
.autoload({
'jquery': ['$', 'window.jQuery', 'jQuery'],
'clipboard': ['ClipboardJS'],
'popper.js': ['Popper']
});
Это заставило меня перестать получать ошибки $ is not defined
.
Но теперь, если я консольный журнал $
или jQuery
или window.jQuery
, это уже не is not defined
, а undefined
.
Как это исправить?Переменные правильно прикреплены к окну, но они пусты ...
Я думаю, что я загружаю свои модули неправильно или у меня есть путаница относительно того, как взаимодействуют package.json
и webpack.mix.js
.Полные файлы для каждого приведены ниже:
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": {},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.6.3",
"bootstrap": "^4.2.1",
"bootstrap-datepicker": "^1.8.0",
"clipboard": "^2.0.4",
"inputmask": "^4.0.6",
"jquery": "^3.2",
"jquery-editable-select": "^2.2.5",
"jquery-lazy": "^1.7.10",
"laravel-mix": "4.0",
"popper.js": "^1.12.9"
}
}
webpack.mix.js:
mix
.js([
/*
|--------------------------------------------------------------------------
| Modules
|--------------------------------------------------------------------------
*/
'node_modules/jquery/dist/jquery.min.js',
'node_modules/popper.js/dist/umd/popper.min.js',
'node_modules/bootstrap/dist/js/bootstrap.min.js',
'node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js',
'node_modules/jquery-lazy/jquery.lazy.min.js',
'node_modules/jquery-lazy/jquery.lazy.plugins.js',
'resources/modules/jRange/jquery.range-min.js',
'node_modules/inputmask/dist/jquery.inputmask.bundle.js',
'node_modules/clipboard/dist/clipboard.min.js',
'resources/js/app.js'
], 'public/js/app.js')
.autoload({
'jquery': ['$', 'window.jQuery', 'jQuery'],
'clipboard': ['ClipboardJS'],
'popper.js': ['Popper']
});
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения.Я пробовал npm run dev
и npm run production
и получаю ту же ошибку undefined
output.