【问题标题】:unexpected indentation in coffee-script咖啡脚本中的意外缩进
【发布时间】:2018-06-07 16:12:18
【问题描述】:

我一直在尝试使用 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。

去上面的网站,把上面的代码sn-p粘贴到那里。

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

Tool 1

【问题讨论】:

    标签: javascript coffeescript


    【解决方案1】:

    你说得对,问题出在版本上。

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

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

    来自coffeescript 2 announcement

    在 CoffeeScript 2 中,“bare” super(调用 super 不带参数)现在不再被允许,而必须使用 super() 或 super 参数...。

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

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

    【讨论】:

    • 你从哪里弄来的时光机?你那个时代的美国总统是谁?美国还存在吗?地球存在还是所有幸存者都迁移到了火星?我在问这一切,因为当前的 Coffeescript 版本是 2.3.1
    • @metalim 我的错 - 这是一个错字。给出这个答案时是 2.2.4。
    【解决方案2】:

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

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

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

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

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

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

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      • 2015-12-12
      • 2013-08-03
      • 1970-01-01
      • 2012-01-19
      • 2016-12-18
      • 2019-08-06
      相关资源
      最近更新 更多