145

出于某种原因,最近我的 Visual Studio 代码发生了变化,并开始仅使用我的 Lerna 包从子包级别提供绝对导入,例如:

在此处输入图像描述

如您所见,自动导入会建议文件的@package/server/src/database路径,../database因为正在编辑的文件位于同一个包中,并且只是包含我尝试使用的数据库变量的文件下方的一个文件夹。

这是错误还是配置问题?

我已将Import Module SpecifierVisual Studio Code 中的 TypeScript 设置设置为所有三个选项(自动、相对和绝对),但它们似乎都没有任何区别。

4

3 回答 3

407

在 Visual Studio Code 中,菜单FilePreferencesSettingsUser Settings

"typescript.preferences.importModuleSpecifier": "relative"

这对我来说可以。它进口

import { RegistrationComponent } from '../../abc-modules/registration/registration.component';

代替

import { RegistrationComponent } from 'app/abc-modules/registration/registration.component';
于 2018-11-04T03:42:47.490 回答
8

在 Visual Studio Code 中,菜单文件 → 首选项 → 设置 → 用户设置

通过 importModuleSpecifier 搜索

在此处输入图像描述

于 2021-12-15T15:04:34.973 回答
7

我从谷歌登陆这里并遇到了相反的问题。我的 Visual Studio Code 实例总是导入相对路径,即使它来自不同的Lerna包。

事实证明,我只是忘记将错误导入的包添加到我的消费包package.json文件中。

现在,一切都按预期工作。

于 2020-02-14T14:26:20.223 回答