node環(huán)境下運(yùn)行js代碼缺少window環(huán)境的原因以及解決方法
報錯信息與截圖
ReferenceError: window is not defined
報錯原因
使用node環(huán)境直接運(yùn)行js文件時,打印的window 為 undefined;
是因為這里的運(yùn)行實際是運(yùn)行的node 程序中的this是指向window,而window屬于瀏覽器環(huán)境中的全局變量
在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環(huán)境就已經(jīng)補(bǔ)全好了?。。。。。。。。。?!
總結(jié)
到此這篇關(guān)于node環(huán)境下運(yùn)行js代碼缺少window環(huán)境的原因以及解決方法的文章就介紹到這了,更多相關(guān)node運(yùn)行js代碼缺少window環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!