咖啡脚本意外缩进

时间:2018-04-16 13:22:54

标签: javascript coffeescript

我一直在尝试使用webpack将所有咖啡脚本转换为捆绑包。

但我被困在一个部分。

提供以下错误

  

错误:意外缩进

     

我有一小段代码。

class p
  check: (x,y,z) ->
    if x and y
        super
    else
        if y
            x = y
        else
            super

当我在http://coffeescript.org/

中查看时,我能够重现此错误

但是,http://js2.coffee/能够将其转换为javascript。

转到上述网站并将上面的代码段粘贴到那里。

我也尝试将其转换为不同的在线工具。

Tool 1

2 个答案:

答案 0 :(得分:1)

问题在于版本。

coffeescript.org/try使用coffeescript 2.X.X(目前为2.2.4)

Coffeescript 2编译为现代JS,由Node 7.6+支持 这意味着Coffeescript类现在编译为ES6样式类而不是原型。这带来了一些限制,导致了Coffeescript 2的变化。

来自coffeescript 2 announcement

  

在CoffeeScript 2中,现在不再允许“裸”超级(不带参数调用超级),并且必须使用super()或超级参数......而不是。

您需要更改super以显式传递覆盖方法的所有参数:super arguments...

class p
  check: (x,y,z) ->
    if x and y
      super arguments...
    else
      if y
        x = y
      else
        super arguments...

答案 1 :(得分:0)

这是由于咖啡脚本的版本。

http://coffeescript.org/中,它有最新版本

http://js2.coffee/时,它有version 1.9.2

当我降级版本时,我能够解决我的问题。

对于当前的要求,我已降级它,这是我的问题的解决方案。

如果有人有不同的答案,请发表您的答案。

由于