js報錯 eferenceError : document is not defined


今天要寫一個實現模擬點擊屏幕的坐標的模塊, 結果突然報錯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了,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM