Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

502
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda