En este tutorial abordaremos el tema de como trabajar con ES6 (Ecmascript 2015) directamente en Rails y dejar que Sprocket se haga cargo de transformar automáticamente los archivos javascript a ES5, el cual es compatible con la mayoría de los navegadores.
Si no utilizas Rails pero quieres trabajar de todas formas con EcmaScript 6 puedes seguir este tutorial.
Para integrar Es6 primero necesitamos actualizar Sprocket a la versión 4.0, la cuál todavía está en beta.La razón por la que tenemos que actualizar es que esta última versión trae soporte para Babel, y utilizando la gema babel-transpiler podemos hacer el proceso de transpiración (convertir de un lenguaje a otro) los archivos de ES6 a ES5.
Actualizando Sprocket
Entonces a nuestro archivo Gemfile agregaremos:
gem 'sprockets', :git => "git@github.com:rails/sprockets.git", :tag => "v4.0.0.beta3"
gem 'babel-transpiler'
bundle update sprockets
bundle
Después dentro de nuestra carpeta app/assets/javascripts agregaremos un archivo llamado test.es6, y dentro de el agregaremos un simple código de ES6.
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
}
let p = new Polygon(2,3);
alert(p.width);
Al cargar alguna página dentro de nuestro sitio podremos ver el mensaje de alerta, y al inspeccionar el código podremos ver que se encuentra en ES5, también si probamos precompilando los assets podremos ver que el código final generado se encuentra en ES5.