zoukankan      html  css  js  c++  java
  • 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了,

  • 相关阅读:
    struts2的execAndWait拦截器
    听说百度网盘可以这样下载文件
    文件下载
    struts2文件上传
    注解实现struts2零配置
    struts2.properties
    拦截器
    curl+个人证书(又叫客户端证书)访问https站点
    Wireshark入门与进阶系列(一)
    Wireshark入门与进阶系列(二)
  • 原文地址:https://www.cnblogs.com/lowbi/p/14717769.html
Copyright © 2011-2022 走看看