ES6 +带Jekyll的Uglifier:Uglifier ::错误:意外的令牌:关键字(常量)

时间:2019-02-04 23:30:19

标签: ruby jekyll uglifier

这是完整的错误:

Liquid Exception: Unexpected token: keyword (const). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true). in /_layouts/base.html

我在网上发现该解决方案应该使用:

Uglifier.compile(js, harmony: true)

production.rb文件中,这是我使用Jekyll以来没有的文件,并且我只能设置在config.yml中:

...
assets:
  js_compressor: uglifier
...

3 个答案:

答案 0 :(得分:0)

我通过更改uglifier gem的版本解决了此问题。您可以在Gemfile文件中更改版本:

gem 'uglifier', '~> 3.2'

在我的情况下,版本3.2完成了这项工作。确保更改文件后运行bundle install

答案 1 :(得分:0)

在您的_config.yml中尝试一下:https://github.com/dart-lang/site-www/issues/502#issuecomment-365955221

  assets:
    ...
    external:
      uglifier:
        harmony: true

答案 2 :(得分:-1)

摆脱Uglifier。它不支持ES6,或者至少不支持Rails附带的配置。