【问题标题】:"$.getJSON is not a function" using jQuery from babel-node and ES6 [duplicate]“$.getJSON 不是函数”使用来自 babel-node 和 ES6 的 jQuery [重复]
【发布时间】:2019-01-20 08:15:53
【问题描述】:

我正在尝试使用 ES6 导入 jQuery,最重要的是,我正在使用 babel-node (cli) 运行代码。

我已阅读 a question,但报告的解决方案似乎不起作用:我尝试过

npm i --save jquery

然后

import {$,jQuery} from 'jquery';

console.log($);

但是我得到undefined 登录到控制台,我不能使用jQuery。

我应该如何导入$

我也试过了

import $ from 'jquery';

根据@Jai 的建议并在npm manual 上报告,但即使我得到“[Function”] 作为console.log($) 的结果,$.getJSON("www.google.com") 也会返回我TypeError: _jquery2.default.getJSON is not a function

只有从 babel-node (cli) 运行代码才是正确的,如果我从加载生成的包的浏览器运行代码,它就可以工作。

【问题讨论】:

  • 您是否尝试过问题中的实际语法? import * as $ from 'jquery'; 如果你写 import { $, JQuery },你会尝试解构 jquery 文件返回的对象,我认为这是不正确的。另外,$ 和 JQuery 是同一个函数。
  • 签出 npm 包how to import jquery
  • @Shilly Trying import * as $ from 'jquery';然后使用 $.getJSON("google.com"); 给我 TypeError: $.getJSON is not a function
  • 您使用的是哪个版本的 jQuery?如果您使用 jQuery slim $.getJSON 不是界面的一部分,这就是您会看到该错误的原因。它不打包 $.ajax 或辅助方法。

标签: javascript jquery ecmascript-6


【解决方案1】:

我建议你尝试使用下面的代码

import $ from 'jquery';

import jQuery from 'jquery';

【讨论】:

  • 我尝试了第一个解决方案。 console.log 说“[Function]”,但是 $.getJSON("google.com"); 给我 TypeError: _jquery2.default.getJSON is not a function
猜你喜欢
  • 2019-01-20
  • 1970-01-01
  • 2018-08-02
  • 2019-07-24
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 2017-06-22
  • 2017-12-30
相关资源
最近更新 更多