如何在Neovim的TypeScript环境中解决src目录下的绝对导入问题
解决TypeScript LSP无法解析src目录绝对导入的问题
步骤1:修正jsconfig.json配置
你的baseUrl设置有误,应该指向项目根目录而非src/,配合paths映射来实现绝对导入解析。修改后的配置如下:
{ "compilerOptions": { "module": "commonjs", "target": "es6", "baseUrl": ".", "paths": { "*": ["src/*"] }, "jsx": "react" }, "include": ["src"] }
如果只需要映射特定目录(比如src/components),可以把paths改成:
"paths": { "components/*": ["src/components/*"], "utils/*": ["src/utils/*"] }
步骤2:确保LSP正确读取配置文件
在TypeScript LSP配置中,明确指定root_dir让服务器找到项目根目录下的jsconfig.json:
typescript.setup({ go_to_source_definition = { fallback = true, }, debug = false, disable_commands = false, server = { capabilities = capabilities, on_attach = on_attach, root_dir = require('lspconfig.util').root_pattern('jsconfig.json', 'tsconfig.json') }, })
步骤3:重启生效
执行:LspRestart tsserver重启TypeScript语言服务器,然后重启Neovim,配置即可生效。
额外检查点
- 确认
jsconfig.json放在项目根目录,而非src子目录下 - 如果是TypeScript项目,建议改用
tsconfig.json,配置逻辑完全一致
内容的提问来源于stack exchange,提问作者Sumit Khaitan
相关产品推荐
相关产品推荐

