VSCode 在自动建议导入方面做得很好,但是在 (Lerna) monorepo 中它只建议从一个包到另一个包的相对路径,例如:
import example from '../../../@scope/example/lib/index.html'
我需要使用它们的包名来引用其他包:
import example from '@scope/example';
我的 jsconfig.json
位于我的 monorepo 的根目录:
{
"compilerOptions": {
"target": "es6",
"jsx": "react"
},
"include": ["**/src/**/*.js"],
"exclude": [
"**/node_modules/*",
"**/dist/*",
"**/coverage/*",
"**/demo/*",
"**/lib/*",
"**/public/*"
]
}
有什么方法可以在 VSCode 中获得正确的自动完成功能?
注意:有一个plugin可用,但它仅适用于 .ts
文件。
最佳答案
您可以在 jsconfig.json
中配置路径
让 VS Code 的工具知道如何解析 @/
路径。
在您的 jsconfig.json
中,添加:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@scope/example/*": [ "./path/to/scope/example/*" ]
}
},
"exclude": [
"node_modules"
]
}
您可以将路径配置为从任何路径前缀映射到工作区中的子目录。查看path mapping documentation了解更多详情
请注意,路径只会影响 javascript 或 typescript 文件的导入; .html
导入仍然无法正常工作
关于javascript - 如何修复 Lerna Monorepo 中的 VSCode 导入路径建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53711437/