来自babel-node的jQuery“ $ .get不是一个函数”

时间:2018-08-13 16:08:27

标签: javascript jquery command-line ecmascript-6 babel

我正在从命令行使用 babel-node 从test.js文件运行以下代码:babel-node test.js

安装jquery

npm i --save jquery

test.js:

import $ from 'jquery';

$.get("www.google.com");

我得到TypeError: _jquery2.default.get is not a function

有什么建议吗?

请注意,此问题不是How to import jquery using ES6 syntax?的重复,因为这似乎是babel-node特有的问题(如果我使用带babel的webpack创建捆绑包并从浏览器运行它,则相同的代码也可以工作)

2 个答案:

答案 0 :(得分:0)

您的导入应为import * as $ from 'jquery';

最有可能发生$冲突。尝试添加

 var jq = $.noConflict();
 jq.get("www.google.com");

希望这会有所帮助!

答案 1 :(得分:0)

要使其与NodeJS一起使用,jQuery必须在dom上下文中执行。如果需要发出Ajax请求,则domJS之类的模块可以完成其他工作。最好的选择是使用其他特定模块,例如“ https”或“ request”,例如下面的示例:

import https from 'https';
https.get("https://www.google.com");