Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.3K
Views
Importación en Node.js: error "Debe usar la importación para cargar el módulo ES"

Estoy tratando de importar myArr de hello.js a index.js . Sin embargo, me sale un error de

 Error [ERR_REQUIRE_ESM]: Must use import to load ES Module

Archivo hola.js

 export let myArr = ['hello', 'hi', 'hey'];

Archivo index.js

 import { myArr } from './hello.js'; console.log(myArr);

¿Dónde me estoy equivocando?

over 4 years ago · Santiago Trujillo
7 answers
Answer question

0

El problema es que Node.js aún no admite la importación y exportación de forma nativa. Todavía es experimental según la documentación . Le recomiendo que use Babel para compilar su código y le permita importar y exportar.

Por ejemplo, puede instalar el paquete @babel/node y ejecutar su proyecto usando:

 npx babel-node index.js

Aquí está la documentación para @babel/node . Al igual que el estado de la documentación, este comando solo está destinado al desarrollo local. En producción, recomiendan una configuración como esta .

over 4 years ago · Santiago Trujillo Report

0

Ejecuté tu código sin ningún problema. Comprueba dos cosas:

  1. Versión de Node.js >= 14. Solo funciona con la última versión de Node.js.
  2. Asegúrese de que su package.json incluya una línea para "type": "module" . Sin esta línea, Node.js asume que desea usar módulos CommonJS en lugar de ESM.
over 4 years ago · Santiago Trujillo Report

0

Si tiene una versión de Node.js inferior a 14, por ejemplo, v12, debe especificar este indicador:

 node --experimental-modules your.mjs
over 4 years ago · Santiago Trujillo Report

0

Me encontré con un problema similar mientras construía mi proyecto React .

Aquí está el error:

 ERROR in ./src/index.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/pradeep/Work/my_project/node_modules/@babel/runtime/helpers/interopRequireWildcard/_index.mjs

Luego me di cuenta de que estoy en una versión de Node.js diferente a la que usé para instalar paquetes en este proyecto .

Tenía dos opciones:

  1. Cambie la versión de Node.js a la requerida por este proyecto y vuelva a compilar.
  2. Manténgase en la versión de Node.js que tiene y elimine el directorio node_modules y el archivo package-lock.json y vuelva a instalar npm .

Elegí el primer enfoque y funcionó para mí.

over 4 years ago · Santiago Trujillo Report

0

Cambie el nombre de hello.js a hello.mjs .

Está utilizando CommonJS en este momento con la extensión .js . Para importar módulos ES6 , deberá cambiar la extensión del archivo que desea importar a .mjs para que sepa que es un módulo ES6.

over 4 years ago · Santiago Trujillo Report

0

Uso nvm para instalar la última versión estable de Node.js.

Para eliminar el archivo package-lock.json y la carpeta node_modules , ejecute npm. Entonces npm start a resolver mi problema.

over 4 years ago · Santiago Trujillo Report

0

Usar la versión 2:

 npm install node-fetch@2

node-fetch de v3 es un módulo exclusivo de ESM: no puede importarlo con require() .

Si no puede cambiar a ESM, use v2 que sigue siendo compatible con CommonJS . Se seguirán publicando correcciones de errores críticos para v2.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!