18910140161

node.JS-ReferenceError:文档未仅在VSCode编辑器中定义-堆栈溢出

顺晟科技

2022-10-18 14:09:36

42

此错误不会消失!它只显示在vscode输出控制台中,我在Google Chrome中运行代码,错误消失了。

ReferenceError:未定义

文档

示例:https://codepen.io/dany2020/pen/vylwpox.

`[Running] node "c:\\index.js"
var headerText = document.getElementById("header");
                   ^
    ReferenceError: document is not defined
      at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
[Done] exited with code=1 in 0.132 seconds`

顺晟科技:

<块引用>

我在谷歌浏览器中运行代码,错误消失了。

这里的

不同之处在于运行代码的环境。Web浏览器和Node.JS可能都使用JavaScript作为语言,但它们运行代码的上下文非常不同。您正在尝试运行Node.JS中的代码:

[Running] node "c:\\index.js"
事实上

,在Node.JS中没有默认的document对象。在浏览器中是这样的,因为在浏览器的上下文中,您正在查看文档(网页)。但在Node.JS的上下文中,你不是。这也意味着您正在使用的代码行在Node.JS中没有真正的意义:

var headerText = document.getElementById("header");

在没有网页的情况下,您查看的是什么文档?你想得到什么元素?这些东西都不存在。

这听起来像是您正在编写的代码打算在Web页面上以浏览器内JavaScript的形式执行。所以你应该在那里运行它。代码将进入<代码><;脚本>;元素(或位于由<script>元素)。如果节点进程是您的服务器,则只在那里执行服务器端逻辑。服务器返回的Web页面将包含您在问题中引用的代码。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航