Tuesday, June 2, 2020

Node JS use import instead of require - Babel

SyntaxError: Cannot use import statement outside a module

Si te has topado con este error es porque seguramente en tu aplicación nodeJS estabas cambiando de algo como esto... a esto... Mira:



El error se debe a que tu versión de NodeJS no soporta ES6 por eso es que debes instalar Babel para compilar y hacer que entienda el require, o sea, que transforme tu código.

Y no solo require, ya que Babel funciona en base a plugins en el que le podemos decir qué cosas es que queremos que transforme.

Instala Babel así:

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

Configura Babel así:

Y deberás crear un archivo llamado .babelrc y con la siguiente data adentro (pueden haber otras cosas):


Ejecuta tu aplicación así:

Instala nodemon

npm install nodemon --save-dev

Crea el siguiente script dentro de tu package.json

"start""nodemon --exec babel-node index.js"


Y voilà. 

Happy coding :)