配置jsconfig.json后仍遇[ERR_MODULE_NOT_FOUND],如何简化导入路径?
解决jsconfig.json配置后仍无法使用根路径导入的问题
可能的原因及解决办法
模块系统不匹配:你配置里指定了
commonjs模块,但如果项目的package.json里加了"type": "module"(启用ES模块),jsconfig.json的baseUrl对Node.js运行时完全无效。- 改法1:在
package.json里添加导入映射,比如:
之后导入用"imports": { "#db/*": "./src/db/*" }import db from '#db/index.js' - 改法2:删掉
package.json里的"type": "module",或者改用tsconfig.json代替jsconfig.json(即使不用TypeScript,Node.js也能识别它的路径配置)
- 改法1:在
项目结构与baseUrl不匹配:
baseUrl设为src,意味着db/index.js必须在src/db/目录下,且你的执行入口文件(比如根目录的index.js)要能正确解析这个相对路径。如果入口在项目根目录,建议把baseUrl改成./src,或者把入口移到src目录下。缓存未清空:改完配置后,必须重启编辑器(比如VS Code)和你的Node.js开发服务,否则旧的路径缓存会导致配置不生效。
导入语法或后缀问题:ES模块导入时,有些场景必须带
.js后缀,别写成import db from 'db/index';CommonJS则可以省略,但要确保和配置的模块系统一致。
你的当前jsconfig.json配置:
{ "compilerOptions": { "module": "commonjs", "baseUrl": "src" }, "include": [ "src/**/*" ], "exclude": [ "node_modules" ] }
内容的提问来源于stack exchange,提问作者Pusoy
相关产品推荐
相关产品推荐

