在 Windows 上,我有以下 .cmd
文件:
.\node_modules\.bin\coffee .\lib\cli --html="index.htm" --whichBuild="configs/whichBuild.xml" %*
即:
- 我调用
.\node_modules\.bin\coffee.cmd
- 告诉它执行
.\lib\cli.coffee
- 传递参数
--html="index.htm"--whichBuild="configs/whichBuild.xml"
- 并且还将用户在命令行上给我的任何参数传递给它。
在 Mac 上,我不知道该怎么做。 node.exe
和 coffee.cmd
不会出现。这些事情是如何实现的?
我想要一些简单的东西,我可以告诉我们的构建人员“运行myCommand arg1 arg2
,它就会工作。”我在 Windows 上有这个,但在 Mac 上我一无所知。
还值得注意的是:我的 Windows 方法的一个很好的功能是我们的构建人员不必安装 Node 或 npm 或 CoffeeScript 或任何东西。他只是从源代码管理中获取一个目录,其中包含了 node.exe
、coffee.cmd
等内容。 Mac 上也非常需要类似的功能。
最佳答案
您可以确定 OS X 安装了 Ruby 版本,因此这个小 Ruby 脚本应该与您在 OS X 上编写和运行的脚本等效。
#!/usr/bin/env ruby
args = ARGV.join(" ")
system %Q{./node_modules/coffee-script/bin/coffee ./lib/cli --html="index.htm" --whichBuild="configs/whichBuild.xml" #{args}}
因此,将其写入名为 myMacCommand
的文本文件中,然后通过运行 chmod +x myMacCommand
确保该文件可执行,现在从命令行运行脚本应该像 ./myMacCommand --option1=blah --option2=blah
编辑:
再仔细考虑一下,上面的脚本可能实际上不起作用,因为 Mac 没有安装 node.js,而我认为这是 CoffeeScript 所需要的。
恕我直言,您的时间可能更好地花在记录如何在本地安装 Node 和 CoffeeScript ,而不是创建一个脚本来解决开发人员未安装它们的问题。
关于macos - 在 Mac 上编写 "batch file"在 Node 上执行 CoffeeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992764/