Uncaught ReferenceError: jQuery is not defined VueJS Parcel

Posted

技术标签:

【中文标题】Uncaught ReferenceError: jQuery is not defined VueJS Parcel【英文标题】: 【发布时间】:2019-07-24 13:35:05 【问题描述】:

我有这个:

import jQuery from 'jquery'
import HSCore from './components/assets/js/hs.core.js'

但我还是明白了:

 Uncaught ReferenceError: jQuery is not defined
    at Object.parcelRequire.client/components/assets/js/hs.core.js (hs.core.js:177)

为什么????

import jQuery from 'jquery' 确实导入了 jQuery(通过console.log(jQuery)),但是我的其他 JS 文件在访问它时遇到了问题(?)。这是一个使用 Parcel loader 的 Vue 文件。

hs.core.js 文件:

(function ($) 
...

)(jQuery); //<-- line 177

【问题讨论】:

imported东西到一个js文件,其他人仍然无法访问它,除非你已经全局注册了它 【参考方案1】:

这样就可以了:

const  $, jQuery  = require('jquery');
global.$ = $;
global.jQuery = jQuery;

require( './components/assets/js/hs.core.js');//<-- this made it work with all the above code too

// $ object now exists:  $(“#el”)
// jQuery now exists:  jQuery(“#el”)

【讨论】:

这在我像这样导入我的文件后工作:require('./components/assets/js/hs.core.js');` 上面的代码【参考方案2】:

试试这个

global.jQuery = require('/assets/js/script');
var $ = global.jQuery;
window.jQuery = $;

【讨论】:

以上是关于Uncaught ReferenceError: jQuery is not defined VueJS Parcel的主要内容,如果未能解决你的问题,请参考以下文章

报错: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 错误:$ 未定义