Uncaught ReferenceError: jQuery is not defined VueJS Parcel

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 loader 的 Vue 文件中。

hs.core.js 文件:

(function ($) {
...

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

这样做就可以了:

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

试试这个

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