Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

348
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda