node环境下运行js代码缺少window环境原因与解决方案

2023-10-27

node环境下运行js代码缺少window环境原因与解决方案

目录

  • 报错信息与截图
  • 报错原因
  • 解决方案
报错信息与截图

ReferenceError: window is not defined

[外链在这里插入图片描述

报错原因

​ 使用node环境直接运行js文件时,打印的window 为 undefined;

​ 是因为这里的运行实际是运行的node 程序中的this是指向window,而window属于浏览器环境中的全局变量

在node中肯定拿不到的。所以会显示undefined。

解决方案

​npm -g install jsdom cmd 以管理员的身份来安装:

在这里插入图片描述

​ 安装完成之后在js头部添加如下代码即可:

const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;

此时缺少的window环境就已经补全好了!!!!!!!!!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node环境下运行js代码缺少window环境原因与解决方案 的相关文章

随机推荐

  • UE4引擎插件制作遇到的问题(一)

    大家好 我叫人宅 加载自己做的引擎插件报错 PrimaryGameModuleCouldntBeLoaded The game module 0 could not be loaded There may be an operating s
  • 第二篇web前端面试自我介绍(刚毕业的菜鸟)

    各位面试官 大家好 我叫汤慧来自湖南益阳专业是电子商务web前端方向我今天应聘的职位是web前端开发 在校期间我主修的课程是HTML CSS JavaScript及JQuery 在课余我喜欢通过逛论坛博客github来了解一些前端的前沿的开
  • 为什么要进行单元测试?

    进行单元测试有许多不同的方法 一些主要目的是 验证功能 单元测试确保代码做正确的事情并且不做任何不应该做的事情 大多数错误发生在这里 防止代码回归 当我们发现错误时 添加单元测试来检查场景可以防止代码更改在将来重新引入错误 记录代码 通过正
  • STM32-定时器详解

    前言 定时器作为微控制器不可缺少的外设 在STM32中也是如此 相信不少初学者学到定时器的时候对STM32的学习热情就大打折扣甚至想要放弃了 因为这一部分知识确实比较复杂 但是 如果你在之前对GPIO 串口通信 外部中断的学习中把这些外设掌
  • 数字水印技术

    数字水印技术涉及多个学科知识 其中主要包括图像存储处理原理 密码学 数字图像在计算机里的储存 从结构上讲 分为位图和矢量图 在位图中 图像由许多的屏幕小点组成 这些小点对应显存中的 位 位 决定了像素的图形属性 如像素的颜色 灰度 明暗对比
  • 代码审查和合并请求:团队合作中的关键

    在现代软件开发中 团队合作是不可或缺的一部分 为了确保代码质量 减少错误以及促进知识共享 代码审查和合并请求成为了开发团队中的关键实践 在本文中 我们将深入探讨代码审查和合并请求的重要性 流程以及最佳实践 代码审查的重要性 代码审查是一种通
  • JVM面试题学习笔记1:

    1 谈谈你对JVM的理解 我们写的java文件到通过编译器编译成java字节码文件 class文件 这个过程是java编译过程 而我们的java虚拟机执行的就是字节码文件 即一堆16进制的字节 答 Java虚拟机是一个可以执行Java字节码
  • Vogue 中的 GAN 时尚图像生成分步指南

    介绍 本文将探讨生成对抗网络 GANs 及其在图像生成方面的卓越能力 GANs已经彻底改变了生成建模领域 通过对抗性学习为通过创造性的方法来创建新内容提供了创新性的途径 在本指南中 我们将带你踏上一段迷人的旅程 从 GAN 的基本概念开始
  • STM32+ESP8266 AT测试、透传、DHT11、APP操作以及源代码

    前言 本文主要应用于STM32F103 ESP8266 AT测试 透传 DHT11 APP操作以及源代码链接 1 1简介 ESP8266 是串口型 WIFI 速度比较低 不能用来传输图像或者视频这些大容量的数据 主要应用于数据量传输比较少的
  • unity使用PhotonEngine实现多人联机游戏开发(二)

    unity使用PhotonEngine实现多人联机游戏开发 二 上一篇由于Mac没电了 写的有点仓促 可能逻辑不是太好 有些说明有遗漏 先来补充一下 申请免费光子云的正确步骤应该是先去全球官网注册账号 接着建立photon cloud ap
  • 报错问题集锦

    一 idea 1 idea集成插件连接数据库报错 https www cnblogs com shaoyang0123 p 11751076 html 二 maven 1 spring boot maven plugin插件一直下载失败问题
  • spring boot elasticsearch搭建

    首先创建一个 maven项目 点击file gt new gt project 选择maven gt next 起个名字 直接点击 gt finish 导入pom
  • RocketMQ下载安装、集群搭建保姆级教程

    目录 1 下载安装 2 配置 3 测试 4 集群配置 4 1 规划 4 2 环境准备 4 3 节点配置 4 3 1 master1 4 3 2 slave2 4 3 3 master2 4 3 4 slave1 4 4 启动 4 5 测试
  • 【OJ比赛日历】快周末了,不来一场比赛吗? #09.16-09.22 #12场

    CompHub 1 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号会推送最新的比赛消息 欢迎关注 以下信息仅供参考 以比赛官网为准 目录 2023 09 16 周六 3场比赛 2023 09 17
  • RunTime Error : cuda out of memory

    cuda out of memory 分为两种情况 第一种 CUDA out of memory Tried to allocate 16 00 MiB 错误信息 CUDA out of memory Tried to allocate 1
  • 2023-01-20 网工进阶(三十九)MPLS 虚拟专用网络---概述、路由交互、CE接入PE方法、基本组网方案详解、团体属性、防环、MCE组网、伪连接方案、跨域组网详解、各种组网方案配置举例

    概述 VPN Virtual Private Network 虚拟专用网络 指的是在一个公共网络中实现虚拟的专用网络 从而使得用户能够基于该专用网络实现通信的技术 MPLS VPN也是VPN技术中的一种 本文特指BGP MPLS IP VP
  • github提交代码出现remote: Support for password authentication was removed on August 13, 2021.?

    今天我往github上提交代码 输入用户名密码以后总是出现 remote Support for password authentication was removed on August 13 2021 意思是 2021年8月13日之后
  • 批量删除文件夹中指定类型的文件os.remove

    批量删除文件夹中指定类型的文件os remove import os def delFiles filePath for root dirs files in os walk filePath print root dirs files f
  • 9个点的所有解锁图_Android九宫格手势锁设定和解锁

    最近在做APP的自动化测试 采用的是Appium方案 在测试过程中遇到了九宫格滑动解锁的问题 通过查阅相关资料 我做了一个通用的方法来处理九宫格在一个view中显示的情况 这种情况我们只能通过定位每一个点的相对坐标来滑动 这里先获取整个九宫
  • node环境下运行js代码缺少window环境原因与解决方案

    node环境下运行js代码缺少window环境原因与解决方案 目录 报错信息与截图 报错原因 解决方案 报错信息与截图 ReferenceError window is not defined 外链 报错原因 使用node环境直接运行js文