编译咖啡二进制文件

时间:2013-01-20 00:30:43

标签: node.js coffeescript bin shebang

如果我在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

有可能吗?或者我是否需要重新思考我的工作方式。

2 个答案:

答案 0 :(得分:1)

诀窍是不要在你的“二进制”文件上放一个.coffee扩展名,不要编译它。

我还建议您不要在二进制文件中放置任何重要的逻辑。相反,只需将二进制文件从完整源开始。

通常,我的每个二进制文件都位于项目根目录下的/bin目录中,它只有这两行(就像我在GitHub上的CoffeeDocTest项目here):

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

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

查看here以获取主coffeedoctest.coffee如何启动并处理命令行选项等的示例。

答案 1 :(得分:1)

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