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

300
Vistas
¿Cómo importo un módulo con tipo en nodejs 16?

Entonces, estoy usando Node16/Typescript y estoy tratando de importar discord.js .

Me gustaría usar la sintaxis de import , y no la require , ya que estoy más acostumbrado, y también hace que TS agregue automáticamente los tipos de lo que importo.

Pero lamentablemente, es un desastre, y hay tanta sintaxis de importación/requerimiento que nunca sé qué hacer.

Así que hice esto:

 import dotenv from 'dotenv'; import { Client, Intents } from 'discord.js';

con el simple tsconfig

 "target": "es2020" "module": "es2020" "moduleResolution": "node"

pero cuando ejecuto mi código falla.

TypeError: no se pueden leer las propiedades de undefined (leyendo 'minLength') en file:///C:/Users/xxxx/Documents/Repository/xxxx/node_modules/@discordjs/builders/dist/index.mjs:1:831 en ModuleJob .run (node:internal/modules/esm/module_job:185:25) en async Promise.all (índice 0) en async ESMLoader.import (node:internal/modules/esm/loader:281:24) en async loadESM ( node:internal/process/esm_loader:88:5) en asincrónico handleMainPromise (node:internal/modules/run_main:65:12)

Sé que discord.js se exporta como commonJs, así que usé require en su lugar.

Ahora el código funciona, pero no se encuentra el tipo para lo que importo, y eslint se queja de

Requerir declaración que no sea parte de la declaración de importación.

Intenté todas las demás soluciones de importación/requerimiento pero aún nada funciona, o requiere type : module en package.json pero el código no funcionará, o me quejo de cómo importo cosas...

básicamente, si uso la forma en que quiero import { Client, Intents } from 'discord.js'; el código no funciona pero el compilador y VsCode autocompletan todo y conocen el tipo (y eslint no tienen error)

const Discord = require('discord.js'); no tendrá tipos, eslint se quejará pero el código funcionará...

Qué tengo que hacer ?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

target significa que TypeScript se compila para ese destino. Usualmente usamos es2015 para este propósito para maximizar las plataformas compatibles. Lo que quieres es lib .

 "target": "es2015", "lib": ["es2020"]
about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay un problema con su tsconfig.json .
Debería ser:

 "target": "es2015"

Después de cambiar esto, ejecute tsc -p tsconfig.json nuevamente.

about 4 years ago · Juan Pablo Isaza Denunciar
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