位置: 编程技术 - 正文

利用Node.js编写跨平台的spawn语句详解(node.js 教程)

编辑:rootadmin

推荐整理分享利用Node.js编写跨平台的spawn语句详解(node.js 教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs编程,node.js在哪里写代码,node.js在哪里写代码,node.js怎么用,用nodejs做的项目,nodejs编程,node.js怎么用,nodejs编程,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

Node.js 是跨平台的,也就是说它能运行在 Windows、OSX 和 Linux 平台上。很多 Node.js 开发者都是在 OSX 上做开发的,然后再将代码部署到 Linux 服务器上。由于 OSX 和 Linux 都是基于 Unix 的,因此两者共性很多。Windows 也是 Node.js 官方支持的平台,只要你通过正确的方式写代码,就能在各个平台上毫无压力的跑起来。

Node.js 的子进程 (child_process) 模块下有一 spawn 函数,可以用于调用系统上的命令,如在 Linux, macOS 等系统上,我们可以执行

来调用 npm 命令。

然而,同样的语句在 Windows 上执行则会报错。

因为在 Windows 上,当我们执行 npm 时,我们实际执行的是 npm.cmd 批处理,而在 Windows 上, .cmd, .bat 批处理是无法脱离 cmd.exe 这一解释器而单独运行的。

因此,我们需要显式地调用 cmd

或者使用在调用 spawn 函数时,设置 shell 选项为 true 以隐式地调用 cmd (该选项添加自 Node.js v6 版本)

利用Node.js编写跨平台的spawn语句详解(node.js 教程)

另外,虽然在 Linux, macOS 等系统上不需要设置 shell 选项,命令也能够正常执行;设置 shell 为 true 也不会妨碍命令的执行,只是会额外的产生一个本不必要的 shell 进程,影响性能。

因此,如果想要编写跨平台的 spawn 命令,而又不想增加额外的开销的话,可以这样写

第三方模块 cross-spawn

关于 spawn 函数的跨平台写法,除了自己编写代码的时候做处理,也有第三方模块封装好了相关细节,如 cross-spawn。

使用该模块,可以在调用 spawn 函数时,自动根据当前的运行平台,来决定是否生成一个 shell 来执行所给的命令。

而且,还能够

支持低于 v6 的 Node.js 版本 (使用 shell 选项需要至少 Node.js v6); 跨平台地支持 shebang; 对命令和参数中的字符进行转义更为方便。

安装

用法

参考文档

在 Windows 上衍生 .bat 和 .cmd 文件

总结

标签: node.js 教程

本文链接地址:https://www.jiuchutong.com/biancheng/376363.html 转载请保留说明!

上一篇:Nodejs 发送Post请求功能(发短信验证码例子)(nodejs发送post请求socket hand up)

下一篇:Nodejs高扩展性的模板引擎 functmpl简介(nodejs 内存不断增长)

  • 车辆购置税会计核算
  • 小型微利企业所得税率
  • 安装服务费税率是多少
  • 公司基本户里的钱有利息吗
  • 小规模纳税人建筑工程增值税税率
  • 净现值率和现值指数之间的关系
  • 金税盘无法连接jk开票
  • 摊销折旧是什么意思
  • 对外销售产品
  • 股权转让涉及房屋产权变更怎么办
  • 投资支付的现金增加说明什么
  • 个人开增值税普票有没有限额
  • 公司如何持续发展
  • 异地工程要预缴环境税款吗
  • 租金发票会计分录
  • 生产车间员工体检费怎么入账
  • 小规模纳税人的季度
  • 港口建设费2021年归国家税务总局
  • 学校有税号可以收专票吗
  • 补贴属于什么手段
  • 会计如何做调整会计分录
  • 审计调整分录如何处理
  • 其他应收账款贷方表示什么意思
  • 金蝶kis标准版软件操作流程演示
  • 所得税汇算清缴退税会计分录怎么做
  • 鸿蒙os程序
  • 出口退税是怎么退
  • w10电脑节能模式
  • php时间计算
  • php declare
  • Laravel中七个非常有用但很少人知道的Carbon方法
  • 营改增后如何纳税
  • 食堂员工自己吃饭违法吗
  • 原始凭证一般没有
  • 管理费用税金怎么算
  • 新的企业所得税
  • php会员系统
  • 应交税费未交增值税
  • 汽车折旧年限是几年内的
  • 开具增值税专用发票是什么意思
  • 用友t3核算管理如何取消记账
  • 企业收到运输发票
  • 代收代付的会计分录
  • 小规模超30万附加税有减免吗
  • 资本公积的核算维度是什么
  • 显示应退税额就是能退是吗
  • 购买机器的运费计入什么科目
  • 固定资产的处置方式包括
  • 做账一定要计提本月工资吗
  • 应付账款增值税如何挂账
  • 小规模纳税人季度不超30万怎么做账
  • 新单位建账怎么做
  • 年初资产总额怎么算
  • 工业企业应通过其他应付款科目核算的有
  • sql server本地服务器地址如何查看
  • mysql修改版本号
  • windowsxp删除所有内容
  • babylon.exe进程有什么作用 babylon进程是什么文件
  • mac上itunes
  • linux怎么操作
  • win10老是提示
  • win732位系统怎么装
  • windows8的word在哪里
  • 新款apple macbook air
  • 电脑qq语音界面
  • 如何更改忘记密码中的问题
  • unity项目资源
  • nodejs事件循环和js事件循环
  • jquery选择器包含哪几大类
  • node.js中使用文件流进行文件复制,首先需要创建一个
  • unity 2danimation
  • unity中ngui
  • jquery中用onclick绑定点击事件
  • base adk
  • jquery实现图片横向移动
  • python的get
  • 苏州税务ukey客服电话
  • 宿豫区国税分局电话
  • 合格的税务人
  • 浙江省如何自助缴纳社保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设