如何在VSCode中停止用Node.js运行JS,改用支持DOM的方式
解决JS文件默认用Node.js运行的问题
你遇到的ReferenceError: document is not defined确实是因为Node.js环境不存在浏览器的DOM API,以下几种方法可以帮你停止用Node.js默认运行JS文件:
方法1:修改Windows默认打开程序
- 右键点击
script.js文件,选择打开方式 → 选择其他应用 - 在弹出窗口中,找到并选中常用浏览器(Chrome、Firefox、Edge等),勾选始终使用此应用打开.js文件
- 如果列表里没显示浏览器,点击更多应用 → 在这台电脑上查找其他应用,找到浏览器的可执行文件(比如Chrome路径一般是
C:\Program Files\Google\Chrome\Application\chrome.exe)
方法2:临时通过浏览器加载(不修改默认设置)
- 确保
script.js和项目的HTML文件在同一目录,且HTML里已通过<script src="script.js"></script>引入该JS文件 - 直接双击打开HTML文件,浏览器会自动加载并执行JS,此时就能正常使用
document等DOM API了
方法3:右键快速切换(可选)
如果需要在Node.js和浏览器两种运行方式间切换,无需修改默认设置:
- 右键点击JS文件,选择打开方式,每次按需选择Node.js或者浏览器即可
附你遇到的错误信息:
c:\Users\Nicolás\Desktop\Gatoprojecto\script.js:2 const gatoCajas=document.getElementById("gatoContainer"); ^ ReferenceError: document is not defined at Object.<anonymous> (c:\Users\Nicolás\Desktop\Gatoprojecto\script.js:2:17) at Module._compile (node:internal/modules/cjs/loader:1218:14) at Module._extensions..js (node:internal/modules/cjs/loader:1272:10) at Module.load (node:internal/modules/cjs/loader:1081:32) at Module._load (node:internal/modules/cjs/loader:922:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:23:47 Node.js v18.13.0
内容的提问来源于stack exchange,提问作者Nicolas Chasnovsky
相关产品推荐
相关产品推荐

