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 以管理員的身份來安裝:
安裝完成之后在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ǔ)全好了?。。。。。。。。。?!
總結(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)文章
Node.js API詳解之 timer模塊用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 timer模塊用法,結(jié)合實(shí)例形式分析了Node.js API中timer模塊基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05手動(dòng)下載Chrome并解決puppeteer無法使用問題
本篇文章主要介紹了手動(dòng)下載Chrome并解決puppeteer無法使用問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11