Vis*_*ath 11 shell operating-system node.js gruntjs
我有一个Grunt任务,它在本地机器上执行.cmd文件来完成它的工作.我需要在CI服务器上使用此任务,CI服务器是Linux机器.我有相关的.sh(Linux的shell脚本).我需要一种方法来执行这两个而不更改我的Gruntfile.
目前我必须更改我的Gruntfile以使其在本地工作,用于Windows和远程文件使用.sh.
任何解决方案都是受欢迎的.检测底层操作系统?或者调用内部调用OS特定命令的相同命令的方法?
dyl*_*nts 22
您可以利用node的process.platform:
process.platform
你正在运行什么平台:'darwin','freebsd','linux','sunos'或'win32'console.log('这个平台是'+ process.platform);
然后在代码中,根据以下内容选择添加文件扩展名:
if (process.platform === "win32") {
ext = ".cmd";
} else {
ext = ".sh";
}
Run Code Online (Sandbox Code Playgroud)