• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

152
Views
Objetos de configuración escritos en JavaScript

En un proyecto de JavaScript, ¿cómo puedo agregar objetos de configuración escritos que puedo pasar a un constructor y que funcionan con la finalización del código VSCode?

Aquí hay una captura de pantalla de la biblioteca Three.js que proporciona la funcionalidad a la que me refiero. Estoy tratando de replicar esto en mi propio proyecto de JavaScript.

ingrese la descripción de la imagen aquí

Esto es lo que probé. Ambos archivos están en el mismo directorio. Estoy usando Webpack como paquete, sin configuración de mecanografiado en absoluto. El archivo .d.ts parece ser ignorado.

¿Qué debo hacer para que esto funcione? Agregar un archivo de configuración? ¿Cambiar la configuración del paquete web?

 // Person.js export class Person { constructor(parameters) { this.name = parameters.name; this.age = parameters.age; } }
 // Person.d.ts export interface PersonParameters { name: string, age?: number } export class Person { constructor(parameters: PersonParameters); }
about 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

TypeScript puede ser complicado de configurar para los recién llegados y si solo lo va a usar para declaraciones de tipo, realmente no vale la pena. Así que podrías probar el viejo JSDoc:

 /** * @typedef {object} PersonConfig * @prop {string} name * @prop {number} age */ /** * A human being */ export class Person { /* * Mimics the birth of a new person * @param {PersonConfig} parameters */ constructor(parameters) { this.name = parameters.name; this.age = parameters.age; } }
about 3 years ago · Juan Pablo Isaza Report

0

Probé tu ejemplo y funciona bien como archivos fuente. Así que supongo que está preguntando cómo enviar las definiciones para que los usuarios finales puedan usarlas. Hay varias formas de hacerlo.

  • Cree archivos d.ts y use CopyWebpackPlugin para copiarlos en la carpeta dist. Puede crear un solo archivo d.ts o crear uno para cada archivo js, es posible que se necesite un punto de entrada como index.d.ts .

  • Reescriba la biblioteca usando TypeScript😄 y genere tipos usando ts-loader o tsc directamente, configurando la declaration y outDir en tsconfig.json .

  • También es posible crear un pr para DefinitelyTyped para que los usuarios puedan instalar los tipos por separado a través de @types/<your-lib> como lo hace three.js. Pero dado que es su propia biblioteca, debe ser exagerada.

Vuelva a cargar VS Code si no se aplica inmediatamente después de copiar las definiciones en la carpeta de destino.

about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error