在 Rails 使用 ES6

身為一位潮到不行der前端開發,使用 ES6 也是理所當然的事情。

不過呢,身為後端的 Rails 可不一定就那麼潮:

remote:        Running: rake assets:precompile
remote:        rake aborted!
remote:        Uglifier::Error: Unexpected token: operator (>). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).

我想英文訊息已經很清楚了:如果你想用 ES6 語法,就要開啟 harmony 模式。

嗯,真和諧。

那怎麼做?錯誤訊息的 Uglifier 是個處理並壓縮 JavaScript 的程式。你需要下載他來用。首先,請輸入 gem install uglifier 安裝他。成功的話,去 config/environments/production.rb,也就是上線環境設定檔找到:

config.assets.js_compressor = :uglifier

然後寫成:

config.assets.js_compressor = Uglifier.new(harmony: true)

Rails 就能吃 ES6 語法了。