【问题标题】:Is there a way to run CoffeeScript natively in Terminal?有没有办法在终端本地运行 CoffeeScript?
【发布时间】:2015-07-14 02:17:59
【问题描述】:

既然我们可以使用各种解释器运行 JavaScript,比如 V8 或 Rhino,我认为应该有一种方法可以在终端中运行 CoffeeScript 代码。

从技术上讲,我可以通过在运行 javascript 时使用 Node.js 来做到这一点,但我很好奇是否有专门为 CoffeeScript 设计的独立解释器。

【问题讨论】:

    标签: javascript coffeescript


    【解决方案1】:

    简单地安装和运行 CoffeeScript 自带的解释器有什么问题?

    在此处阅读指南的安装部分:http://jashkenas.github.com/coffee-script/#installation

    然后像这样使用它:

    或者我是否遗漏了您问题的某些方面?

    【讨论】:

    • 我相信提问者正在寻找一种在不使用 JS 作为中间语言的情况下运行 CoffeeScript 的方法,coffee 在幕后当然是这样做的。
    【解决方案2】:

    没有。你可以使用coffee filename 启动一个coffeescript 文件,但这只会在RAM 中编译coffeescript 文件并将其作为javascript 运行。嗯,实际上有人为coffeescript 编写了一个解释器,但是该解释器是用javascript 或coffeescript 左右编写的,因此也必须在JS 引擎中运行。此外,它非常慢,因为它是解释器而不是 JIT 编译器。

    正如我所说,只需使用coffee 命令。

    【讨论】:

      【解决方案3】:

      据我所知,只有一个 CoffeeScript 解释器不会将其编译为 JavaScript:Poetics

      它是用纯 Ruby 编写的,并直接在 Rubinius VM 上运行 CoffeeScript 代码。但是,它自 5 月以来一直没有更新,与官方的 CoffeeScript 实现相差甚远。

      【讨论】:

      • 我想我在 GH 和咖啡邮件列表上也见过一个纯 JS 的。
      【解决方案4】:

      如果您不想使用coffee 命令运行脚本,您可以随时在脚本顶部添加井号:

      #!/usr/local/bin/coffee
      

      只要将文件设置为可执行 (chmod +x foo.coffee),现在您无需在终端中指定 coffee 命令即可运行它:

      $ ./foo.coffee
      

      【讨论】:

      • 这似乎不起作用。由于某种原因,它仍然解释为 bash 。你能确认这对你有用吗?谢谢
      • 这真的让我发疯——它不起作用。为什么??我不知道。我找到的解决方案是说#!/usr/bin/env node /path/to/coffee-script/bin/coffee,这有点讨厌。
      • 它对我也不起作用..在 Mac OS 10.9.2 上运行
      • #! shebang 功能需要一个实际的二进制可执行文件作为解释器;因为coffee 本身也是一个脚本,所以它不起作用。如果您可以向node 提供一组命令行选项,使其进入“咖啡模式”,您可以使用shebang 来做到这一点..
      • 使用:#!/usr/bin/env coffee 你必须使用 npm 全局安装 coffeescript cli
      【解决方案5】:

      您不能直接将coffee 用作脚本解释器,因为它已经是一个脚本。但是你可以通过编写一个简单的 C 包装器来解决这个问题:

      #include <unistd.h>
      
      int main(int argc, char *argv[]) {
          execvp("coffee", argv);
      }
      

      编译它并将它放在你的 PATH 某处(我称之为 klatsh),然后将 #!/usr/bin/env klatsh(或任何你称之为的)放在脚本的顶部,你就可以开始了。

      【讨论】:

        【解决方案6】:

        是的,只需使用:

        $ coffee test.coffee 
        Output from coffee!
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-27
          • 2021-08-22
          • 1970-01-01
          • 2015-10-22
          • 2021-05-06
          • 1970-01-01
          • 2022-01-13
          • 2022-10-24
          相关资源
          最近更新 更多