unexpected uncaught syntaxerror solucion react que invalid este error javascript ecmascript-6 webpack babel

javascript - uncaught - Obteniendo exportación de tokens inesperados



uncaught syntaxerror unexpected token jquery (5)

El uso de la sintaxis ES6 no funciona en el nodo, desafortunadamente, aparentemente debe tener babel para que el compilador entienda la sintaxis como exportar o importar.

npm install babel-cli --save

Ahora necesitamos crear un archivo .babelrc, en el archivo babelrc, configuraremos a babel para que use el preajuste es2015 que instalamos como preajuste al compilar en ES5.

En la raíz de nuestra aplicación, crearemos un archivo .babelrc. $ npm install babel-preset-es2015 --save

En la raíz de nuestra aplicación, crearemos un archivo .babelrc.

{ "presets": ["es2015"] }

Espero que funcione ... :)

Estoy tratando de ejecutar algún código ES6 en mi proyecto pero recibo un error inesperado de exportación de token.

export class MyClass { constructor() { console.log("es6"); } }


En caso de que obtenga este error, también podría estar relacionado con la forma en que incluyó el archivo javascript en su página html. Al cargar módulos, debe declarar explícitamente esos archivos como tales. Aquí un ejemplo:

//module.js: function foo(){ return "foo"; } var bar = "bar"; export { foo, bar };

Cuando incluye el script de esta manera:

<script src="module.js"></script>

Obtendrás el error:

SyntaxError no capturado: exportación de token inesperada

Debe incluir el archivo con un atributo de tipo establecido en "módulo":

<script type="module" src="module.js"></script>

Y luego funcionará como se esperaba y estará listo para importar su módulo en otro módulo:

import { foo, bar } from "./module.js"; console.log( foo() ); console.log( bar );


Está utilizando la sintaxis del módulo ES6.

Esto significa que su entorno (por ejemplo, node.js) debe admitir la sintaxis del módulo ES6.

NodeJS usa la sintaxis del módulo CommonJS ( module.exports ) no la sintaxis del módulo ES6 (palabra clave de export ).

Solución:

  • Utilice el paquete babel npm para transpilar su ES6 a un objetivo commonjs

o

  • Refactorizador con sintaxis CommonJS.

Instale los paquetes de babel @babel/core y @babel/preset que convertirán ES6 en un objetivo commonjs ya que el nodo js no comprende los objetivos ES6 directamente.

npm install --save-dev @babel/core @babel/preset-env

Luego, debe crear un archivo de configuración con el nombre .babelrc en el directorio raíz de su proyecto y agregar este código allí

{ "presets": ["@babel/preset-env"] }


Para usar ES6 agregue babel-preset-env

y en tu .babelrc :

{ "presets": ["@babel/preset-env"] }

Respuesta actualizada gracias al comentario de @ghanbari para aplicar babel 7.