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

356
Views
importar un valor exportado de otro archivo js arroja un identificador inesperado, ¿cómo lo soluciono?

Hay dos archivos js en mi directorio de trabajo.

Aquí está el contenido de test.js

 let k; export default k = 12;

Aquí está el contenido de test2.js

 import m from './test'; console.log(m);

Cuando traté de ejecutar test2.js con node.js (v17.3.0)

 node test2.js

Obtuve

 import m from './test'; ^ SyntaxError: Unexpected identifier at Module._compile (internal/modules/cjs/loader.js:723:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

El código de ejemplo proviene de MDN doc .

¿Estoy usando exportar correctamente?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Un par de problemas:

  1. Está utilizando la sintaxis de ESM, pero el cargador CommonJS. Debe poner "type": "module" en su archivo package.json para decirle a Node.js que está usando ESM (o use una extensión de archivo .mjs ). Detalles en la documentación .

  2. Ha dicho que está exportando la variable, pero no es así; está exportando un valor constante ( 12 , el resultado de k = 12 ) como exportación predeterminada. Para exportar la variable como la exportación predeterminada, usaría:

     let k = 12; export default k;

    La distinción es que si exporta el resultado de k = 12 en lugar de k , las asignaciones posteriores a k dentro del módulo de exportación no actualizarán el valor del enlace importado.


Nota al margen: las exportaciones predeterminadas generalmente no son una gran idea. En su lugar, considere usar una exportación con nombre :

 // Exporting: export let k = 12; // Importing: import {k as m} from "./test.js"; console.log(m); // 12 (initially, will change if `k` is changed)
about 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!