Exportación de token inesperada: adopción del soporte del módulo ES6
Encontrar el error "Exportación de token inesperada" al intentar ejecutar el código ES6 puede ser desconcertante asunto. Este error surge cuando el entorno de ejecución no es compatible con la sintaxis del módulo EcmaScript (ESM) que estás utilizando.
Comprensión de ESM:
ESM, a menudo denominado " ES6 Modules", introdujo un sistema de módulos para JavaScript, que permite la encapsulación de código y una gestión de dependencias más sencilla. Utiliza la palabra clave export para definir módulos, lo que hace que la organización del código sea más explícita.
Soporte para ESM:
Las versiones de NodeJS inferiores a v14.13.0 no eran compatibles con ESM y en su lugar dependían de en módulos CommonJS, que utilizaban la sintaxis de la propiedad module.exports. Sin embargo, las versiones más nuevas de NodeJS (v14.13.0 y superiores) admiten ESM, siempre que esté habilitado explícitamente.
Soluciones:
Habilite ESM en NodeJS (v14 .13.0):
Edite el archivo package.json de su proyecto y establezca la propiedad "tipo" en "módulo":
{ ... "type": "module", ... }
Refactorice con la sintaxis del módulo CommonJS:
Para versiones anteriores de NodeJS, refactorice su código para usar la sintaxis del módulo CommonJS:
// Example ES6 module export class MyClass { constructor() { console.log("es6"); } } // CommonJS module equivalent module.exports = class MyClass { constructor() { console.log("commonJs"); } };
Utilice TypeScript y ts-node:
Considere usar TypeScript junto con los paquetes npm ts-node o ts-node-dev. TypeScript se transpila a JavaScript en el momento de la compilación, lo que hace que el código ES6 sea compatible con versiones anteriores de NodeJS.
Transpile ESM a CommonJS:
Utilice esbuild (instalado a través de npm) para transpilar su ES6 JavaScript al formato CommonJS, lo que le permite ejecutarse en entornos sin soporte nativo de ESM.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3