3

如果我在 CoffeeScript 中编写我的整个项目,我该如何编写我的“二进制”文件?

#!/usr/bin/env coffee
# My program sits here

然后,一旦编译,我就松开了 shebang:

// Generated by CoffeeScript 1.4.0
// My program sits here

我希望它会变成这样的东西:

#!/usr/bin/env node
// My program sits here

是否可以?还是我需要重新考虑我的工作方式。

4

2 回答 2

1

诀窍是不要在您的“二进制”文件上添加 .coffee 扩展名并且不要编译它。

我还建议您不要在二进制文件中放置任何重要的逻辑。相反,只需让二进制文件启动完整的源代码。

一般来说,我的每一个二进制文件都位于/bin我的项目根目录下的一个目录中,它只有这两行(比如我在 GitHub 上的 CoffeeDocTest 项目

#!/usr/bin/env coffee
require(__dirname + '/../src/coffeedoctest')

您还需要在其上运行chmod 755 <filename>以使其可执行。

在此处查看有关 main 如何coffeedoctest.coffee启动和处理命令行选项等的示例。

于 2013-01-20T06:49:31.080 回答
1

正如您推测的那样,您可能需要一个脚本来帮助您添加必要的 shebang 行。我通常会创建一个Cakefile任务来进行必要的编译并添加适当的第一行。

于 2013-01-21T13:41:39.767 回答