VSCode - Turborepo - 本地包的自动导入建议错过了主入口点

Pie*_*ton 5 javascript intellisense visual-studio-code monorepo turborepo

我们最近使用turborepo将多个存储库重新分组为一个单一的monorepo,以便使用本地包实现更好的代码可重用性。

我们的文件夹结构如下所示:

/apps
| /app1
| /app2
/packages
| /package1
| | /some-folder
| | | someHelper.js
| | index.js // Main entry point exporting everything
Run Code Online (Sandbox Code Playgroud)

package1 package.json 文件看起来像这样

{
  "name": "package1",
  "main": "index.js",
  // Omitted irrelevant properties
}
Run Code Online (Sandbox Code Playgroud)

应用程序 package.json 看起来像这样

{
  "name": "app1",
  "dependencies": {
    "package1": "*"
  }
  // Omitted irrelevant properties
}
Run Code Online (Sandbox Code Playgroud)

当在应用程序和我引用的上下文中时someHelper,智能感知导入建议给出以下内容:

import someHelper from "<rootDir>/packages/package1/some-folder/someHelper";
Run Code Online (Sandbox Code Playgroud)

虽然我希望它像这样导入:

import { someHelper } from "package1";
Run Code Online (Sandbox Code Playgroud)

两种进口都有效,但第二种更干净。我只是无法让 VSCode 以这种方式工作。

我在各个级别(应用程序、包和根目录)尝试了 jsconfig.json 路径别名的不同组合,但都没有达到预期的效果。

我缺少什么吗?

Ale*_*lex 4

您是否尝试过调整 VS Code 的javascript.preferences.importModuleSpecifier设置?

typescript.preferences.importModuleSpecifier也可用于 TypeScript 项目。

在此输入图像描述