tutorial sirve rails que para instalar curso caracteristicas aprender ruby-on-rails ecmascript-6 transpiler

ruby-on-rails - sirve - ruby on rails tutorial



¿Cómo uso ES6(ES2015) en una aplicación de ruby ​​on rails? (2)

Tengo una aplicación 4.2 barajas y estoy considerando convertir lentamente el JS a ES6. En este momento estoy usando el archivo de manifiesto de rieles estándar de la canalización de activos para preprocesar mi js.

No estoy seguro de cómo comenzar a usar ES6 (agregando un paso de transpile) en mi aplicación de rieles.

¿Hay un método incorporado o una herramienta recomendada o flujo de trabajo?


En la actualidad, lamentablemente no existe una forma "estándar" de hacer esto; mucho depende de los requisitos de su aplicación y si puede actualizar Piñones y / o Rieles.

Opción 1: Stay on Rails 4.2 y Sprockets 3, luego use esta joya para agregar compatibilidad con ES6 y migrar gradualmente a los módulos ES6: https://github.com/rmacklin/sprockets-bumble_d

Opción 2: actualice a Piñones 4 (todavía en versión beta), luego use https://github.com/fnando/babel-schmooze-sprockets o https://github.com/babel/ruby-babel-transpiler para agregar babel para el soporte de ES6. Ambos tienen una documentación bastante sólida.

Opción 3: Use el paquete web en lugar de o junto a los piñones. Una búsqueda en google revelará algunos enfoques para esto. Rails 5.1 (todavía en versión beta) introducirá soporte nativo de webpack (y por lo tanto babel) a través de la gema webpacker . Es cierto que esta puede ser la opción más difícil para una aplicación existente. Hay un buen artículo al respecto aquí: https://medium.com/statuscode/introducing-webpacker-7136d66cddfb#.cb4sixyah


Estoy construyendo una aplicación Rails 4.2.x ahora e instalé los carriles reactivos . Funciona de maravilla y utilizando el generador integrado con la opción --es6 parece generar archivos ES6 simplemente --es6 . También tiene babel-transpiler como una dependencia y parece funcionar bien, al menos con las características de ES6 que he probado hasta ahora. Genera los archivos con una extensión es6 que presumiblemente desencadena el Babel Transpile (ex post.es6.js ).