Uncaught ReferenceError: $ is not defined - Laravel 5.5 + Laravel Mix

Posted

技术标签:

【中文标题】Uncaught ReferenceError: $ is not defined - Laravel 5.5 + Laravel Mix【英文标题】: 【发布时间】:2018-12-30 23:00:22 【问题描述】:

我最近从 SVN 检查了我的项目。我在使用过“$”的地方遇到了“未捕获的 ReferenceError:$ 未定义”,即;查询。我正在使用 laravel 混合器来组合 JS 和 CSS 文件。

这是我的 bootstrap.js

window._ = require('lodash');
window.Popper = require('popper.js').default;
window.tooltip = require('tooltip.js');



try 
    window.$ = window.jQuery = require('jquery');
    require('jquery-ui-dist/jquery-ui.min.js');
    require('bootstrap');
 catch (e) 


window.axios = require('axios');

window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';



let token = document.head.querySelector('meta[name="csrf-token"]');

if (token) 
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
 else 
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');


//Moment JS
window.moment = require('moment');
//Collect JS
window.collect = require('collect.js');
//Clipboard JS
window.ClipboardJS = require('clipboard');
//Import Toster
window.toastr = require('toastr');
//Swaet Alert
import Swal from 'sweetalert2';

window.swal = Swal;
//Owl Carousel
window.owlCarousel =  require('owl.carousel');
//JS Cookie
window.Cookies = require('js-cookie');
//Image Zoom
require('ez-plus');

这是我的 webpack.mix.js

let mix = require('laravel-mix');

mix.js('resources/assets/js/app.js', 'public/js').sourceMaps()
   .sass('resources/assets/sass/app.scss', 'public/css');

我的 Laravel 版本:5.5.40 laravel-mix 版本:1.7.2

【问题讨论】:

这是因为顺序错误或JS文件被一个接一个地附加。由于您已经给出了 JS 文件夹的路径,该文件夹中的文件将按字母顺序排列,因此在缩小的 JS 文件中也是如此。 @HimanshuUpadhyay 我没有修改 bootstrap.js 文件。我保持原样。 因此,如果您的自定义 Jquery 代码使用来自 jquery.min.js 文件的 $ 并且在添加 jquery 文件之前将其附加到缩小文件中,那么显然它不会获得 @987654325 的引用@ 【参考方案1】:

这对我有用:

app.js 脚本标签中删除延迟并将window.$ = window.jquery = 更改为global.$ = global.jquery =

无论天气与否,这是正确的做法,这对我有用。

laravel 5.7

【讨论】:

以上是关于Uncaught ReferenceError: $ is not defined - Laravel 5.5 + Laravel Mix的主要内容,如果未能解决你的问题,请参考以下文章

报错:Uncaught ReferenceError: input is not defined

Uncaught ReferenceError: process is not defined

jQuery报错:Uncaught ReferenceError: $ is not defined

React Uncaught ReferenceError:未定义缓冲区

雪花存储过程给出类似“Uncaught ReferenceError”之类的错误?

Ubuntu Uncaught ReferenceError 中的 Javascript 错误:$ 未定义