この方法は sprockets-es6
gemに依存しているため、3.0.0-beta1
以上の sprockets
gemが必要になります。
もし、利用しているgemの依存関係などで、3.0.0以上のsprocketsがインストールできない場合は、素直にes6にはnpmのbabelifyを使いましょう。
(たぶんここら辺が参考になります)
また、以下の手順は、手元にrails new
した状態、あるいは既存のrails projectとruby、nodeおよびnpmがインストールされた状態を期待します。
1. browserigy-rails / sprockets-es6 をGemfileへ追加する
gem 'browserify-rails', '~> 1.2.0' # とりあえず現時点の最新のverというだけの指定
gem 'sprockets-es6', require: 'sprockets/es6' # このgemの依存関係で sprockets 3.0.0以上がインストールされる
2. package.json ファイルを作成してbrowserify/browserify-incrementalを追加する
{
"name": "MyRailsProject",
"private": true,
"license": "MIT",
"dependencies": {
"browserify": "^11.0.1",
"browserify-incremental": "^3.0.1"
}
}
本来ならば npm init
してからnpm install --save browserify browserify-incremental
するべきなのだろうけれど・・・
3. bundle install /npm install
$ bundle install
# npm install
以上、3手で完了です。
単に、es6なファイルを扱いたいだけなら、sprockets-es6
のみで事足りますが、せっかくモダンな環境を手に入れるのであれば、jQueryから脱却してみるのもよいと思い、そのために browserify-rails
も入れてみました。
あとは、適当なcontrollerと app/assets/javascript
下にes6ファイルを作成するなり、使いたいnpmライブラリがあるのであれば、npm install --save foo
でインストールして、動作を確認してみるとよいでしょう。
最後に、上記の手順を構築するために使ったレポジトリがあります。
よかったら参考にしてみてください。