位置: 编程技术 - 正文

利用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 内存不断增长)

  • 水资源费如何入账
  • 增值税核算应设置什么
  • 购固定资产需要交什么税
  • 培训机构财务怎么做账
  • 预提费用报税时填哪里
  • 2019年一季度季报怎样填写
  • 营业税金及附加包括增值税吗
  • 代扣代缴车船税手续费比例
  • 存货清查的目的,主要是进行总账和明细账
  • 关联企业往来业务包括
  • 税务局代开的增值税专票可以红冲吗?
  • 税务局扣税余额不足
  • 去年多摊销的费用今年怎么做账务处理?
  • 增值税的价外费用不包括什么
  • 农产品税率2020
  • 营运资金的范畴包括哪些
  • 应交增值税进项税额转出
  • 银行短期理财利息怎么算
  • 餐厨垃圾处理有哪些设备
  • 公司对外租赁
  • 进口关税和增值税在哪里交
  • 华为鸿蒙双击背面打开健康码
  • 餐饮业成本核算明细表
  • 关于商品退换
  • 材料没有入库
  • centos6.5下载
  • 前端get请求传多个参数
  • pc direct
  • Win10 20H2/2004 Beta Build 19042.789累积更新补丁KB4598291正式推送
  • 不需要认证的进项税额怎么处理
  • 代开的发票需要企业盖章还是税务机关盖章?
  • php消息实时推送完整示例
  • 前端框架学哪个好
  • react 路由参数
  • 公司迁移到外省 税务局需要注销吗
  • while循环语法结构
  • 加计扣除内容
  • 股权转让怎样能不交税 认缴
  • 什么情况可以行政拘留不予执行
  • 原始凭证分割单样本图片
  • 职工薪资包括
  • 网上学电脑哪个软件好
  • 账簿启用交接表图片
  • MYSQL的数据类型共有几大类?
  • 公司收到注册资本金需要做哪些呢
  • 当月进项税大于销项税怎么办
  • 业委会究竟在小区起什么作用
  • 暂估入库的会计分录怎么写
  • 咨询服务业主营业务成本
  • 房地产开发成本测算套表(全过程)
  • 房地产企业暂估成本所得税汇算
  • 自建不动产领用原材料增值税进项
  • 汽车租赁的会计处理
  • 企业自建厂房需要有资质吗
  • 企业商业汇票到期款项存入银行
  • 财务会计期末总结
  • 其他货币资金微信和支付宝的管理
  • 多开税票的钱怎么算
  • 本月增加的固定资产本月可以进行部门转移
  • 核销预收账款是否需要计提增值税
  • 旅行社滞纳金计算公式
  • 事业单位开的发票
  • mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size的解决方法
  • 数据库中两张表tab1
  • mysql分页实现
  • 微软2016是window多少
  • 如何解决工作
  • 使用灭火器时要对准火焰的什么部位喷射
  • WIN10系统优化精简工具
  • shell source不起作用
  • unity udim
  • 深入理解新发展理念,推进供给侧结构性改革 心得体会
  • perl常用函数
  • 基于javascript的毕业设计
  • linux怎样添加用户
  • js键盘事件有哪些?各自的作用如何
  • js遍历json对象键值
  • Android Path和PathMeasure类的使用之获取圆弧上的坐标值
  • 税务稽查人员占税务人员比例
  • 娱乐会所一般有什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设