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了,

  • 相关阅读:
    添加coreseek中文分词
    linux 常用处理命令
    rewrite nginx
    判断浏览器类型
    Cookie 读写类
    Php 异常处理 exception
    C++实验:时间和日期类
    数据结构:删除链表元素
    数据结构-循环单链表
    TOJ-5395 大于中值的边界元素
  • 原文地址:https://www.cnblogs.com/lowbi/p/14717769.html
Copyright © 2011-2022 走看看