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
个文件。
答案 0 :(得分:3)
您可以在jsconfig.json
中配置paths
,以使VS Code的工具知道如何解析@/
路径。
在您的jsconfig.json
中,添加:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@scope/example/*": [ "./path/to/scope/example/*" ]
}
},
"exclude": [
"node_modules"
]
}
您可以配置路径以从任何路径前缀映射到工作空间中的子目录。有关更多详细信息,请参见path mapping documentation
请注意,路径仅会影响javascript或打字稿文件的导入; .html
导入仍无法正常工作