node環(huán)境下運(yùn)行js代碼缺少window環(huán)境的原因以及解決方法
報(bào)錯(cuò)信息與截圖
ReferenceError: window is not defined

報(bào)錯(cuò)原因
使用node環(huán)境直接運(yùn)行js文件時(shí),打印的window 為 undefined;
是因?yàn)檫@里的運(yùn)行實(shí)際是運(yùn)行的node 程序中的this是指向window,而window屬于瀏覽器環(huán)境中的全局變量
在node中肯定拿不到的。所以會(huì)顯示undefined。
解決方案
?npm -g install jsdom cmd 以管理員的身份來(lái)安裝:

安裝完成之后在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;
此時(shí)缺少的window環(huán)境就已經(jīng)補(bǔ)全好了!?。。。。。。。。。?/p>
總結(jié)
到此這篇關(guān)于node環(huán)境下運(yùn)行js代碼缺少window環(huán)境的原因以及解決方法的文章就介紹到這了,更多相關(guān)node運(yùn)行js代碼缺少window環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nodejs個(gè)人博客開發(fā)第三步 載入頁(yè)面
這篇文章主要為大家詳細(xì)介紹了nodejs個(gè)人博客開發(fā)的載入頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
node.js中的fs.symlinkSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.symlinkSync方法使用說(shuō)明,本文介紹了fs.symlinkSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
Node.js API詳解之 timer模塊用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 timer模塊用法,結(jié)合實(shí)例形式分析了Node.js API中timer模塊基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
手動(dòng)下載Chrome并解決puppeteer無(wú)法使用問(wèn)題
本篇文章主要介紹了手動(dòng)下載Chrome并解決puppeteer無(wú)法使用問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11

