Laravel 5.6 - webpack: Uncaught ReferenceError: jQuery is not defined

Laravel 5.6 - webpack: Uncaught ReferenceError: jQuery is not defined

我得到了package.json:

  "devDependencies": {
    "axios": "^0.18.0",
    "bootstrap": "^4.1.3",
    "bootstrap-datepicker": "^1.7.1",
    "browser-sync": "^2.24.6",
    "browser-sync-webpack-plugin": "^2.0.1",
    "chart.js": "^2.7.2",
    "cross-env": "^5.2.0",
    "datatables": "^1.10.18",
    "easy-pie-chart": "^2.1.7",
    "font-awesome": "4.7.0",
    "fullcalendar": "^3.9.0",
    "jquery": "^3.3.1",
    "jquery-sparkline": "^2.4.0",
    "jvectormap": "^2.0.4",
    "laravel-mix": "^2.1.11",
    "load-google-maps-api": "^1.2.0",
    "lodash": "^4.17.10",
    "masonry-layout": "^4.2.2",
    "perfect-scrollbar": "^1.1.0",
    "popper.js": "^1.14.3",
    "skycons": "^1.0.0",
    "vue": "^2.5.16"
  }

与 webpack.mix:

mix.sass('resources/assets/styles/index.scss', 'public/css/app.css')
    .js('resources/assets/scripts/index.js', 'public/js/app.js')
    .copyDirectory('resources/assets/static', 'public/static')
    .version()
    .sourceMaps();

和资源文件:

所以那些文件,看起来像是被 webpack 正确编译的 >> npm run dev 然后我将其加载到 blade 模板,但随后在浏览器中显示:jQuery 未定义...

Uncaught ReferenceError: jQuery is not defined

这里可能出了什么问题,为什么它可以加载 jQuery 而我已经在 package.json 中定义了它?

谢谢!

几分钟后我发布了问题...

答案在这里...

将此添加到您的 webpack:

mix.webpackConfig(webpack => {
    return {
        plugins: [
            new webpack.ProvidePlugin({
                $: 'jquery',
                jQuery: 'jquery',
                'window.jQuery': 'jquery',
            })
        ]
    };
});