如何在Lerna Monorepo中修复VSCode导入路径建议?

时间:2018-12-10 18:19:13

标签: javascript import visual-studio-code lerna monorepo

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个文件。

1 个答案:

答案 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导入仍无法正常工作