node环境下运行js代码缺少window环境的原因以及解决方法
作者:尼古拉斯.小趴菜
Node是一个基于Chrome V8引擎的运行环境,让JavaScript运行在服务端的开发平台,这篇文章主要给大家介绍了关于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环境就已经补全好了!!!!!!!!!!!
总结
到此这篇关于node环境下运行js代码缺少window环境的原因以及解决方法的文章就介绍到这了,更多相关node运行js代码缺少window环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!