在我的Laravel项目(laravel 5.6)中,我从npm安装了Jquery。然后我将其添加到webpack.mix.js。
mix.webpackConfig(webpack => {
return { plugins: [new webpack.ProvidePlugin({
$: "jquery",
jQuery: ["jquery", "$"],
"window.jQuery": "jquery",
Popper: ["popper.js", "default"]
})] };
});
Run Code Online (Sandbox Code Playgroud)
编译资产并尝试使用jquery后,它显示
"Uncaught ReferenceError: $ is not defined"
Run Code Online (Sandbox Code Playgroud)
在视图中加载混合文件后,我正在使用自定义JavaScript文件。
<script src="{{ mix('/js/app.js') }}"></script>
<script type="text/javascript" src="/js/tests/tests.js"></script>
Run Code Online (Sandbox Code Playgroud)
在我的自定义JavaScript文件中,我添加了以下代码来检查Jquery。
$("#myCheckButton").click(function(e) {
console.log(test);
});
Run Code Online (Sandbox Code Playgroud)
我尝试更改webpack.min.js webPackconfig设置,但无法解决。像这样的大多数问题建议将自定义js文件放在混合后。我认为我的情况是对的
编辑:还有另一个错误
jquery-jvectormap.min.js?37ce:1 Uncaught TypeError: Cannot read property 'fn' of undefined
at eval (jquery-jvectormap.min.js?37ce:1)
at Object.eval (jquery-jvectormap.min.js?37ce:1)
at eval (jquery-jvectormap.min.js:6)
at Object../node_modules/jvectormap/jquery-jvectormap.min.js (app.js?id=3e76ba2082961d8bb73a:654)
at __webpack_require__ (app.js?id=3e76ba2082961d8bb73a:20)
at eval (index.js:3)
at Object../resources/assets/js/vectorMaps/index.js (app.js?id=3e76ba2082961d8bb73a:1820)
at __webpack_require__ (app.js?id=3e76ba2082961d8bb73a:20)
at …Run Code Online (Sandbox Code Playgroud)