今天要寫一個實現模擬點擊屏幕的坐標的模塊, 結果突然報錯eferenceError : document is not defined, 我是一頭霧水, 由於剛入坑, 對js不太熟系, 於是問了我的js大神朋友.



我本人也是非常迷惑,入門JS時間太短,也沒能理解為什么后台用不了document和整個html就是document, 明白怎么回事的朋友可以在評論里給我講講, 讓我好好康康。
然后的話下面就是我的解決步驟:
安裝 jsdom 包, 安裝方法有四種:
npm install moduleName # 安裝模塊到項目目錄下
npm
install
-g moduleName
# -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪個位置,要看 npm config prefix 的位置。
npm
install
-save moduleName
# -save 的意思是將模塊安裝到項目目錄下,並在package文件的dependencies節點寫入依賴。
npm
install
-save-dev moduleName
# -save-dev 的意思是將模塊安裝到項目目錄下,並在package文件的devDependencies節點寫入依賴。
如果你運行的是js后台, 那么就安裝到全局:
npm
install
-g moduleName
如果安裝報錯了的話可以看看這篇文章(大部分安裝應該是沒有問題的):
https://www.javaroad.cn/questions/85661
安裝成功后在對應的代碼里輸入這段代碼:
1 const jsdom = require("jsdom"); 2 const { JSDOM } = jsdom; 3 const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`); 4 window = dom.window; 5 document = window.document; 6 XMLHttpRequest = window.XMLHttpRequest;
然后運行代碼, 調試的時候打印一下document, 這次應該就不會未定義了
ps: 如果你是公司內網,下載失敗了, 那么在外面下載好, 然后傳到內網里面, 拖到項目對應的node-modules里, 就O幾把K了,
