VSCode中“模块不存在”错误主因是Node.js运行时未正确找到模块文件:要么未安装、路径错误或VSCode未继承正确环境;需确认package.json声明、工作目录为项目根、node_modules完整性、相对路径拼写及大小写、ESM下扩展名是否显式、tsconfig.json的moduleResolution配置,并重启TS Server。

VSCode里写Node.js报“模块不存在”,不是代码写错了,而是Node.js根本没找到那个文件——要么压根没装,要么装了但路径不对,要么VSCode压根没用上你装的那个环境。
npm install 之后还是报 Cannot find module
这说明 node 运行时在找模块时,没扫到你刚装进 node_modules 的东西。常见原因有:
-
package.json里没声明该模块(比如漏了dependencies或devDependencies),npm install实际没真正安装它;用npm ls 模块名确认是否真在依赖树里 - 当前工作目录不是项目根目录(比如你在子文件夹里打开 VSCode),
node就不会从那里往上找node_modules - 用了
yarn workspaces或pnpm,但 VSCode 没加载 workspace link,此时node_modules里是符号链接,而 TS/JS 语言服务没识别成功 - 删过
node_modules但没重装,或package-lock.json和实际安装不一致,建议直接删掉两者再跑npm install
require('./utils') 报错:Cannot find module './utils'
这是路径解析失败,不是包管理问题。Node.js 查找相对路径时非常严格:
生成Blender Python (bpy)脚本,该脚本使用node_groups API和GeometryNodeTree接口程序化地创建几何节点修改器树,用于参数化3D资产生成。
- 确保文件存在且拼写完全一致(包括大小写、扩展名);ESM 模式下
import必须带.js后缀,不能省略 - 检查当前执行的 JS 文件位置(即
__dirname),和./utils的相对关系是否真能对上;用node -e "console.log(require.resolve('./utils'))"直接验证路径是否可解析 - 如果
utils是个目录,确认里面有index.js或符合package.json#main的入口文件 - 某些构建工具(如 Vite)会改写
import行为,但 Node.js 原生运行时不会——别把开发服务器能跑的代码直接拿去node xxx.js
终端里 node -v 正常,但 VSCode 调试时报 command not found: node
这不是插件问题,是 VSCode 没继承系统环境变量。尤其 macOS/Linux 下从 Dock 启动时,~/.zshrc 根本没加载:
- 在 VSCode 内置终端里执行
which node,看输出路径是否和你在 iTerm / Terminal 里一致;不一致就说明环境变量断了 - 最稳解法:关掉所有 VSCode 窗口,从终端执行
code .打开项目,这样完整继承当前 shell 的PATH - Windows 用户请检查系统环境变量里有没有
C:\Program Files\nodejs\;若没有,重装 Node.js 并务必勾选 “Add to PATH” - 别信“改 launch.json 就能绕过”,
runtimeExecutable只是调试器启动命令,底层还是得靠系统能找到node
tsconfig.json 配置导致 import 提示模块未找到
TypeScript 语言服务(Pylance 不管这个,是 TS Server)靠 tsconfig.json 决定怎么解析路径。即使编译后能跑,编辑器里仍可能标红:
- 确认
"moduleResolution": "node"已设置(不是默认的classic) - 如果用了
"baseUrl"或"paths",必须配合"rootDir"和输出结构;否则 TS Server 会在错误位置找声明文件 -
paths映射只影响 TS 编译期路径解析,不影响运行时——运行前得靠打包工具或ts-node支持,否则照样Cannot find module - 修改
tsconfig.json后,必须重启 TS Server:Ctrl+Shift+P → “TypeScript: Restart TS server”
真正卡住人的,往往不是“没装包”,而是“装了但不在当前上下文可见”。每次遇到这类报错,先问自己:现在这个 node 进程,到底是在哪个目录下、用哪个配置、读哪个 node_modules?把这三个点对齐,90% 的“模块不存在”就自然消失了。

















