Búsqueda de sitios web

La importación automática en Visual Studio Code solo ofrece ruta absoluta con subpaquetes de Lerna en TypeScript


Por alguna razón, muy recientemente mi Visual Studio Code cambió y empezó a ofrecer únicamente importaciones absolutas desde el nivel de subpaquete con mis paquetes de Lerna, por ejemplo:

Como puedes ver, la importación automática está sugiriendo la ruta @package/server/src/database al archivo cuando debería ser simplemente ../database ya que el archivo que se está editando está dentro del mismo paquete y está solo una carpeta debajo del archivo que contiene la variable de base de datos que intento usar.

¿Es esto un error o un problema de configuración?

He configurado mi ajuste Import Module Specifier para TypeScript en Visual Studio Code en las tres opciones (automático, relativo y absoluto) y ninguna de ellas parece hacer alguna diferencia.

Respuesta #1

En Visual Studio Code, menú Archivo → Preferencias → Configuración → Configuración del usuario,

"typescript.preferences.importModuleSpecifier": "relative"

Funciona bien para mí. Lo importa

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

en lugar de

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

Respuesta #2

En Visual Studio Code, menú Archivo → Preferencias → Configuración → Configuración del usuario

buscar por importModuleSpecifier

Respuesta #3

Mi problema era que tenía la opción baseUrl configurada en mi archivo tsconfig.json.

{
  "compilerOptions": {
    "baseUrl": ".", // remove
  },
}

Después de eliminar la opción; VSCode comenzó inmediatamente a importar mediante la ruta relativa. El beneficio de este método es que puedes mantener la opción de VSCode importModuleSpecifier configurada en shortest y la importación mediante rutas relativas seguirá funcionando.

Artículos relacionados