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

352
Vistas
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 Respuestas
Responde la pregunta

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 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