Utilizando ES6 en tus aplicaciones Node

U

Éstos días, he tenido la oportunidad de trabajar sobre unas cosas en node, más especificamente en sails.js y en algunas cosas con socket.io, y como era de costumbre para mi, comencé a utilizar imports, clases, entre otras caracteristicas de ES6, tipico, que uno programa y ya luego arranca el servidor a ver si todo está bien, tal fue mi sorpresa al arrancar el server, que no funcionaban mis imports, resulta que node.js por defecto no soporta del todo ES6, para comenzar, los imports, y bueno, me di a la tarea de investigar como solucionarlo, y dejar el apunte acá, para cualquier persona que le sirva.

De entrada les comento para esto, estoy suponiendo que ya tienen iniciado su proyecto con npm init, lo que vamos a hacer es instalar unas librerias de babel para el soporte ES6:

    npm install --save-dev babel-cli babel-preset-es2015 rimraf

Ahora necesitaremos crear un archivo de configuración para babel en la raiz de nuestro proyecto:

    touch .babelrc

Esto nos creará un archivo .babelrc, dentro de el, pondremos lo siguiente:

{
  "presets": ["es2015"]
}

Ahora en nuestro package.json, en nuestra sección scripts, verémos que tenemos solo un item que se llama test, vamos a agregar dos más:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "rimraf dist/ && babel ./ --out-dir dist/ --ignore ./node_modules,./.babelrc,./package.json,./npm-debug.log --copy-files",
    "start": "npm run build && node dist/index.js"
  }

Bien, explicación rápida, lo que estamos haciendo es crear el comando build, que compila nuestra aplicación con babel, y posteriormente, creamos el comando start, que primero manda a hablar al comando build, y luego arranca nuestra aplicación.

Ahora podemos arrancar nuestra aplicación con:

 

npm start

Espero les sirva…

 

Acerca del autor

Ivan Alvarado Diaz

Ingeniero en sistemas computacionales, apasionado por la tecnologia, programador, siempre con ganas de aprender mas y comprometido con mi trabajo.

Por Ivan Alvarado Diaz

Categorías

Etiquetas