"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver o erro “Exportação inesperada de token” em módulos ES6?

Como resolver o erro “Exportação inesperada de token” em módulos ES6?

Publicado em 2024-11-06
Navegar:947

How to Resolve \

Exportação de token inesperada: adotando suporte ao módulo ES6

Encontrar o erro "Exportação de token inesperada" ao tentar executar o código ES6 pode ser desconcertante emitir. Este erro surge quando o ambiente de tempo de execução não tem suporte para a sintaxe do Módulo EcmaScript (ESM) que você está usando.

Compreendendo o ESM:

ESM, geralmente chamado de " Módulos ES6", introduziu um sistema de módulos para JavaScript, permitindo encapsulamento de código e gerenciamento mais fácil de dependências. Ele utiliza a palavra-chave export para definir módulos, tornando a organização do código mais explícita.

Suporte para ESM:

As versões do NodeJS abaixo da v14.13.0 não suportavam ESM e, em vez disso, dependiam em módulos CommonJS, que usavam a sintaxe da propriedade module.exports. No entanto, versões mais recentes do NodeJS (v14.13.0 e superior) suportam ESM, desde que esteja explicitamente habilitado. .13.0 ):

Edite o arquivo package.json do seu projeto e defina a propriedade "type" como "módulo":

{ ... "tipo": "módulo", ... }

Refator com sintaxe do módulo CommonJS:

Para versões mais antigas do NodeJS, refatore seu código para usar a sintaxe do módulo CommonJS:
{
  ...
  "type": "module",
  ...
}
// Exemplo ES6 módulo exportar classe MinhaClasse { construtor() { console.log("es6"); } } // Equivalente ao módulo CommonJS module.exports = class MinhaClasse { construtor() { console.log("commonJs"); } };

Utilize TypeScript e ts-node:

Considere usar TypeScript junto com os pacotes npm ts-node ou ts-node-dev. O TypeScript transpila para JavaScript em tempo de compilação, tornando o código ES6 compatível com versões mais antigas do NodeJS.
{
  ...
  "type": "module",
  ...
}

Transpile ESM para CommonJS:

Use esbuild (instalado via npm) para transpilar seu ES6 JavaScript para o formato CommonJS, permitindo que ele seja executado em ambientes sem suporte nativo de ESM.

Declaração de lançamento Este artigo foi reimpresso em: 1729172539 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3