Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

500
Vistas
¿Cómo puedo @vincular algo que no está importado?

TypeScript introdujo recientemente la etiqueta @link en los comentarios de JSDoc. La documentación está aquí .

Sin embargo, @link solo genera un enlace real si el compilador de TypeScript conoce el destino del enlace. En otras palabras, todo lo que enlace debe declararse dentro del mismo archivo o importarse. Sin embargo, este no es siempre el caso. Tome este ejemplo (inventado):

rueda.ts

 /** A wheel for use with a {@link Car}. */ export interface Wheel { // ... }

En este ejemplo, el comentario JSDoc en wheel.ts hace referencia a un tipo Car que se define en un archivo independiente, car.ts . Debido a que wheel.ts no importa car.ts , TypeScript no sabe a qué @link Car . Como resultado, no puede mostrar un enlace adecuado para Car cuando se muestra la documentación en VS Code:

captura de pantalla

Entonces mi pregunta es: ¿Cómo puedo decirle a TypeScript dónde encontrar la definición de Car ?

He intentado los siguientes enfoques:

1. Importación regular

Agregando import { Car } from './car'; hasta la parte superior de wheel.ts resuelve el problema y crea un enlace real a Car (observe cómo "Car" se ha vuelto azul ahora):

ingrese la descripción de la imagen aquí

Sin embargo, genera el error de TypeScript "Se declara 'Car' pero nunca se lee su valor. (6133)" en la línea de importación. TypeScript no parece considerar la etiqueta @link como un uso real del tipo importado.

Puedo agregar // @ts-ignore arriba de la importación para decirle a TypeScript que ignore el error. Pero eso me parece bastante feo.

2. Tipo de importación

En lugar de una importación regular, puedo usar una importación de tipo: import type { Car } from './car'; . El resultado es el mismo: el enlace funciona, pero aparece un error de TypeScript.

3. Importación en línea

TypeScript admite la importación de tipos dentro de los comentarios de JSDoc . Así que probé la siguiente sintaxis:

 /** A wheel for use with a {@link import("./car").Car}. */

Sin embargo, parece que TypeScript no evalúa las importaciones dentro de los enlaces:

ingrese la descripción de la imagen aquí

4. Comentario Typedef

Intenté importar el tipo de la siguiente manera:

 /** @typedef {import('./car').Car} Car */ /** A wheel for use with a {@link Car}. */ export interface Wheel { // ... }

Sin embargo, esto tampoco creó un vínculo.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda