Подтвердить что ты не робот

Как использовать ES6 (ES2015) в рубине на приложении rails?

У меня есть приложение с 4.2 рельсами, и я рассматриваю возможность медленного преобразования JS в ES6. Сейчас я использую стандартный файл манифеста rails из конвейера активов для предварительной обработки моих js.

Я не уверен, как начать использовать ES6 (добавление шага пересылки) в моем приложении rails.

Есть ли встроенный метод или рекомендуемый инструмент или рабочий процесс?

4b9b3361

Ответ 1

В настоящее время, к сожалению, на самом деле нет "стандартного" способа сделать это - многое зависит от требований вашего приложения, и если вы можете обновлять звездочки и/или Rails.

Вариант 1: Оставайтесь на Rails 4.2 и Sprockets 3, затем используйте этот камень для добавления поддержки ES6 и постепенно переходите к модулям ES6: https://github.com/rmacklin/sprockets-bumble_d

Вариант 2: Вернитесь к Sprockets 4 (все еще в бета-версии), затем используйте https://github.com/fnando/babel-schmooze-sprockets или https://github.com/babel/ruby-babel-transpiler, чтобы добавить babel для поддержки ES6. Оба имеют довольно прочную документацию.

Вариант 3: Используйте webpack вместо или рядом со звездочками. Для поиска в Google будет обнаружен ряд подходов. Rails 5.1 (все еще в бета-версии) представит поддержку встроенного webpack (и, таким образом, babel) с помощью драгоценного камня webpacker. По общему признанию, это может быть более сложным вариантом для существующего приложения. Здесь есть хорошая статья: https://medium.com/statuscode/introducing-webpacker-7136d66cddfb#.cb4sixyah

Ответ 2

Теперь я создаю приложение Rails 4.2.x и установил react-rails. Он работает просто peachy и использует встроенный генератор с опцией --es6, он, кажется, генерирует файлы ES6, просто персиковые. Он также имеет babel-transpiler как зависимость и, похоже, работает нормально - по крайней мере, с функциями ES6, которые я пробовал до сих пор. Он генерирует файлы с расширением es6, которое предположительно запускает Babel Transpile (ex post.es6.js).