Windows 上的 CoffeeScript?

Posted

技术标签:

【中文标题】Windows 上的 CoffeeScript?【英文标题】:CoffeeScript on Windows? 【发布时间】:2011-03-11 16:09:29 【问题描述】:

如何在 Windows 上试用 CoffeeScript?

安装说明仅适用于*nix:http://jashkenas.github.com/coffee-script/#installation

编辑:

自从我刚才问这个问题以来,已经出现了许多新的答案。 Windows 用户的选项数量(和质量)增加了很多。很久以前我“接受”了一个答案,然后在他们提出时更改为其他(更好的)答案,但我现在决定不接受任何答案,并让社区(投票)显示哪些答案是最好的。感谢大家的意见。

【问题讨论】:

这可能会有所帮助***.com/questions/2879401/… 不要忽视 Julian Birch 2011 年 11 月的回复a new Windows version. @Nick 您应该将恐慌上校的答案标记为正确。它自己可能需要一段时间才能冒泡到顶部,这是正确的答案。 【参考方案1】:

更新:请参阅我对此问题的另一个答案How can I compile CoffeeScript from .NET?,以获得更准确和最新的当前选项列表。

CoffeeScript-Compiler-for-Windows 效果很好。

【讨论】:

您的另一个答案是另一个问题! “如何从 .NET 编译 CoffeeScript?”【参考方案2】:

发布此问题时可能会更复杂。但截至 2012 年,CoffeeScript 在任何平台上都易于使用。 instructions 与 Windows、Mac 或 Linux 相同

    从http://nodejs.org/ 安装 Nodejs 使用节点包管理器npm install -g coffeescript 或本地npm install --save-dev coffeescript 全局安装CoffeeScript 在您喜欢的文本编辑器中编写脚本。保存它,比如hello.coffee 运行您的脚本coffee hello.coffee 或编译它coffee -c hello.coffee(到hello.js

【讨论】:

能否请另外 31 个人来为这个答案投票 - 它应该排在首位... @BillyMoon 32nd 来了! 如果该答案更新为将coffee 安装到Windows PATH 上的说明,将投票支持该答案。因为运行 npm install -g coffee-script 确实 not 似乎这样做。【参考方案3】:

Node.js 现在在 Cygwin 上运行,所以这可能是让 CoffeeScript 在 Windows 上运行的最佳选择。我先试试看。

如果您有不同的首选 javascript 运行时,您可能可以使用预建编译器 (extras/coffee-script.js)。例如,如果您在网页上包含该脚本,则可以调用

CoffeeScript.compile(code);

... 获取已编译的 JavaScript 字符串。

2012-04-12 更新:不再需要 Cygwin 在 Windows 上运行 Node。微软 通过 2H 2011 与 Joyent 合作,以改进节点对 Windows IOCP 异步 IO。 Node 0.6 was the first release of node to natively support Windows.

【讨论】:

我认为我不需要 node.js(请参阅我的编辑)....但是您的“编译”建议很有趣!这究竟是如何工作的?我会同时提供我的咖啡脚本和编译器,浏览器会将其编译为常规 javascript,然后运行它?那会很酷!但你如何做到这一点?有如何做到这一点的例子吗?我能看到生成的 javascript 吗?...并用 FireBug 调试它? 推荐使用 Node.js。您可以在浏览器中编译内联 CoffeeScript,方法是包含编译器,并在“text/coffeescript”标签中编写代码。一切都是这样评估的,所以你看不到生成的 JS 或用 Firebug 调试它……这是一种冗长的解释方式,用 Node.js 预编译它是最好的开发方式。详情见:jashkenas.github.com/coffee-script/#scripts 所以我需要 Cygwin 才能在 CoffeeScript 中实际开发?没关系,但我希望 Windows 用户更容易上手。 CoffeeScript 看起来真的很酷,如果有一个像 CoffeeScript 网站上优秀的“Try CoffeeScript”交互式编译器/解释器一样即时编译的 eclipse 插件,我会将我所有的 javascript 编程切换到 coffeescript。那太邪恶了! npm(节点包管理器)也是安装和保持包更新的便捷方式。【参考方案4】:

您可以在良好的旧 Window Script Host (cscript.exe) 下运行 CoffeeScript 编译器,这是自 Windows 98 以来 Windows 上的标准组件。诚然,我前段时间尝试过,但没有成功,但我最近又试了一次,并且现在所有标准的 CoffeeScript 测试都可以正常编译了。

使用*.wsf 文件和coffee-script.js 的一些管道代码就是您所需要的。我的代码在 GitHub 上:https://github.com/duncansmart/coffeescript-windows

我在这里写了一篇博客:http://blog.dotsmart.net/2011/06/20/the-simplest-way-to-compile-coffeescript-on-windows/

【讨论】:

这个解决方案很有效。无需安装大量额外工具或其他运行时。非常感谢! 这让我的团队中使用 Windows 的成员快速启动并运行 - 太棒了!【参考方案5】:

您可以使用jcoffeescript 作为命令行解决方案。

它使用基于 Java 的 javascript 引擎 (Rhino) 并完成了从 CoffeeScript project 编译 coffee-script.js 的任务。这允许它将 CoffeeScript 编译器作为 Java 程序运行。

要使用的命令(在 Windows/Linux 上)如下所示:

java -jar jcoffeescript-1.0.jar < foo.coffee > foo.js

您需要下载并构建 Java 源代码(使用 IntelliJ Community Edition 以避免下载 Ant)或 pre-built download for CoffeeScript v1.0。

我现在使用 jcoffeescript 代替 Ruby 解决方案(这里是另一个答案),因为这让我能够跟上 latest CoffeeScript 版本。

【讨论】:

替代命令行:java -jar jcoffeescript-0.9.2.jar foo.js 它没有使用与 Firefox 相同的引擎。它使用 Mozilla 基金会开发的 Rhino,但与 Fixefox 完全无关。 谢谢,我已经修复了参考【参考方案6】:

您可以通过installing Ruby on Windows 使用CoffeeScript 的命令行版本,然后安装CoffeeScript Gem。

之后,可以使用命令行,例如“coffee bla.coffee” - 将您的 CoffeeScript 代码编译为 JavaScript 代码。

这样做的唯一缺点(不使用 Node.js)是 CoffeeScript 的 Ruby 版本仅限于 0.3.2 版本 - 在迁移到 Node.js 之前用 Ruby 编写的最后一个版本。

*然而,在我目前的工作和我的个人网页中,我仍然使用 Ruby 版本的 CoffeeScript,我认为没有什么问题,因为这个版本的 CoffeeScript 已经相当成熟,并且列出了大部分功能在CoffeeScript网站上可以使用。

*删除了当时正确但每隔几天就变得更不正确的最后一条语句; CoffeeScript 自 0.3.2 以来已经取得了长足的进步,并且已经超过 1.1

【讨论】:

gem 现在与 CoffeeSscript 同步(请参阅自述文件:github.com/josh/ruby-coffee-script#readme),但因此它只是作为实际编译器的桥梁/接口,因此您仍然需要 node.js,等等。此外,gem 似乎没有考虑 Windows 编写,因为它使用“which”命令来确定可用的 javascript 引擎,并且此命令在 Windows 上不可用(默认情况下)。 这不值得投反对票,coffeescript gem 在 Windows 上工作,我用了很长一段时间。您的 cmets 很有趣,但不会否定答案。请不要仅仅因为它们已经过时而投反对票 @PandaWood 我只是在用我的投票来反映我所看到的答案的价值。 IE。该问题的最佳解决方案是 jcoffeescript(由您回答)和 Node.js 二进制文件(由 Mikhail Nasyrov 回答)。 作为注释,i5m 是正确的;否决票用于反映答案的优点,而不是惩罚性的。这就是高票数答案浮到顶部的整个想法。 请注意,CoffeeScript Gem 包含在 Rails 3.1 中,这说明它的稳定性和对包括 Windows 在内的所有平台的支持。【参考方案7】:

这里已经有很多答案了,让我补充一下。我为在 Windows 上编译 CoffeeScript 编写了一个 .NET 库。

作为 jashkenas suggested,我使用了预编译的 extras/coffee-script.js 文件。 连同Jurassic JavaScript compiler,我将它们全部打包在一个库中:CoffeeSharp

该库还附带一个命令行工具和一个用于 ASP.NET Web 开发的 HttpHandler。

【讨论】:

【参考方案8】:

我用过这个:https://bitbucket.org/maly/coffeescript-win/zealots 看起来运行良好,尽管您需要手动将 coffee.script 从 0.95 更新到 1.0.1。

【讨论】:

这对我有用,我更新到 1.1.1 并且在 Windows 下一切正常。【参考方案9】:

由于 node.js 现在已移植到 Windows,这实际上非常简单:

http://www.colourcoding.net/blog/archive/2011/09/20/using-coffeescript-on-windows.aspx

【讨论】:

我喜欢这个答案,但会注意到这个过程涉及一个 git clone,所以现在你也需要安装 GIT,即使你不使用它。【参考方案10】:

如果您想在 ASP.NET 应用程序中使用 CoffeeScript,那么您可以使用 this HTTP handler 来提供已编译的 CoffeeScript 代码。

【讨论】:

正如 Liam 在关于这个 HttpHandler 的 cmets 中所提到的,这是一个非常巧妙的技巧,但非常巧妙!在有人将 NodeJS 移植到 Windows 之前,它应该会阻止我们【参考方案11】:

我自己还没有尝试过,但这似乎是一个答案。 (我已经下载安装了,还没用过。)

有一个适用于 Visual Studio 2010 的插件,可将 CoffeeScript 编辑添加到 VS(除其他外)。

它被称为 Web Workbench,以 vsix 的形式下载。 (即可以从 VS UI 中下载。)

【讨论】:

不幸的是,它使编辑超过 200 行的文件变得疯狂而缓慢。当我尝试它时,我不得不放弃它。【参考方案12】:

我只是将其作为对“我如何尝试”通常不在 Windows 上运行或尚未移植的工具的更一般隐含问题的回答。使用运行类似 UNIX 的操作系统(如 Linux 或 BSD)的虚拟机。

如果您有足够的 RAM 并且愿意学习足够多的知识以应付各种情况,那么尝试开源软件会容易得多。在 CoffeeScript 案例中,您仍然可以在共享文件夹上执行诸如 --watch 之类的操作,并且大部分时间都留在 Windows 中。您也不会使用您尝试但不购买的工具和服务污染您的系统,如果您经常这样做,这很方便。

【讨论】:

【参考方案13】:

考虑使用 Chocolatey 在 Windows 上安装 http://chocolatey.org/packages/CoffeeScript。

(安装 Chocolatey:https://github.com/chocolatey/chocolatey/wiki/Installation)

【讨论】:

以上是关于Windows 上的 CoffeeScript?的主要内容,如果未能解决你的问题,请参考以下文章

Javascript/Coffeescript 在值相同时对多个键上的对象数组进行排序

在流星 0.6.4.1/coffeescript 中,可变可见性如何工作?

如何不封装 Coffeescript

如何将dojo工具包与rails 3.1资产管道和coffeescript一起使用?

jQuery DataTables 行重新排序和 CoffeeScript

Coffeescript没有从广播消息中继作业接收数据