【问题标题】:Uncaught ReferenceError: jQuery is not defined VueJS ParcelUncaught 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文件,其他人仍然无法访问它,除非你已经全局注册了它

标签: javascript jquery vue.js parceljs


【解决方案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 = $;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 2020-03-25
    • 2017-08-06
    • 2018-08-27
    • 2018-08-03
    • 2017-04-09
    • 1970-01-01
    相关资源
    最近更新 更多