当前位置: 首页 > 面试题库 >

jsdom.env无法在node.js C9上运行

储法
2023-03-14
问题内容

所以我最近一直在C9上使用Node.js,并在一个javascript文件中遇到了这个问题:

jsdom.env("", function(err, window) {
TypeError: jsdom.env is not a function

这是我的代码

var jsdom = require('jsdom');
var $;
jsdom.env("", function(err, window) {
console.log("what");
if (err) {
    console.error(err);
    return;
}

$ = require("jquery")(window);

$.ajax(settings).done(function (response) {
     console.log(response);
  });
});

我更新了所有依赖关系以及Node本身,但仍然遇到此问题。有人知道怎么回事吗?


问题答案:

我面临着同样的问题。正在网上寻找解决方案。事实证明,jsdom自v10以来已更新了一些功能。因此,我想在快速应用程序的Node.js端使用jQuery,并且必须像下面这样进行操作:

var jsdom = require('jsdom');

const { JSDOM } = jsdom;

const { window } = new JSDOM();

const { document } = (new JSDOM('')).window;

global.document = document;



var $ = jQuery = require('jquery')(window);

从v10开始不推荐使用.env()。希望这对您或遇到此类问题的任何人有帮助。



 类似资料:
  • 问题内容: 以下代码可在实时站点上运行,但无法在jsfiddle站点上运行。 谁能告诉我为什么它在jsfiddle上不起作用? 在控制台上,它记录:和。 您将代码作为片段嵌入此处时,可以看到该代码的工作原理: 问题答案: 您定义的函数是在onload函数中定义的,因此在它们被引用之前,因为它们是在该函数中定义的,所以只能在该函数中引用它们。您在HTML中将它们称为全局变量。您有三种选择 a)(最简

  • 问题内容: 我在Windows上有一个基本的webserver hello world应用程序,可用于Windows上的nodejs,它可在localhost上运行。但是,当我从互联网测试它时,它无法连接。我在netgear路由器中设置了端口转发。我是否在这里缺少使我的nodejs服务器对外界可见的步骤? 谢谢。 问题答案: 确保您聆听而不是 是仅对您的计算机可见的专用网络。 侦听所有接口,包括私

  • 问题内容: 我正在尝试在Ubuntu终端上运行javac。但是我得到以下信息: JDK已经安装并运行说 我的jdk安装在/ usr / lib / jvm / java-6-open- jdk中;而且我能够从Eclipse编译并运行Java程序。但是在使用终端时遇到了上述问题。 问题答案: 该二进制(可能其他的Java二进制文件)是/不是您的用户环境变量。有几种解决方法: 添加到用户的环境变量。您

  • 根据Maven的发布历史,应该可以在JDK7上运行Maven的任何最新版本(在编写本文时)。但是,当我在Ubuntu21.04机器上尝试这样做时,我得到了一个错误:。 即使在不包含任何Java文件或文件的目录中运行而没有任何参数时也会发生这种情况。 Maven信息: (我还安装了Zulu1.7.292和OpenJDK;那里的行为是相同的。)

  • 我的应用程序在Android 6上崩溃, 调用时,我正在使用带有自定义适配器的改型:方法不工作 问题出在哪里?