首页 > 解决方案 > Uncaught ReferenceError: jQuery is not defined VueJS Parcel

问题描述

我有这个:

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 加载器的 Vue 文件。

hs.core.js 文件:

(function ($) {
...

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

标签: javascriptjqueryvue.jsparceljs

解决方案


这将做到:

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”)

推荐阅读