位置: 编程技术 - 正文

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

  • 增值税发票认证平台进不去什么原因
  • 计提增值税会计科目是什么
  • 印花税申报是含税收入还是不含税收入
  • 公司买车可以抵多少税100万
  • 建筑企业异地申报个税
  • 一般纳税人小微企业印花税优惠政策
  • 通行费 发票
  • 所得税汇算清缴分录怎么做
  • 发票查询发票代码有误
  • 企业收到赔偿款要交税吗
  • 存货的计价方法有哪些,具体内容是什么
  • 企业间借款利息怎么算
  • 商业汇票的使用范围
  • 事业单位跨年度错账调整
  • 印花税计税依据是销售收入吗
  • 固定资产认证进项在勾选平台勾吗
  • 非增值税纳税人有哪些
  • 销项负数发票的抵扣联
  • 代扣税金是什么意思
  • 一个十图
  • 全年实现利润总额为6035
  • 公司买回来做样衣的服装怎么做会计分录?
  • 企业支出的资产包括哪些
  • 记账凭证做完之后干什么
  • 什么叫抵免
  • 确认无法回收的应收账款会计分录
  • win10无法设置pin码怎么办
  • 工会经费列支比例
  • 如何pingip地址
  • PHP:pg_query()的用法_PostgreSQL函数
  • 育空怀特霍斯附近的北极光,加拿大 (© Design Pics/Danita Delimont)
  • 迷迭香怎么养殖方法
  • 销售旧的固定资产 税法规定
  • 固定资产报废后的处理程序
  • vue默认首页
  • 研发费用加计扣除新税收政策
  • 加计扣除账务处理
  • 最好的ph计
  • 详解php匿名函数
  • thinkphp技巧
  • 一般纳税人购买原材料会计分录
  • 长期借款利息的账务处理涉及的会计科目有
  • 超市账目月底怎么核算
  • 玩转mongodb4.0从入门到实践
  • 调整以前年度销项税怎么填申报表
  • 退还押金的会计分录怎么写
  • 通用发票如何缴销
  • 企业其他业务收入要交税吗
  • 融资性租赁税率
  • 自然灾害的原因有哪些
  • 建筑企业预缴税
  • 长期待摊费用未摊销完一次性处理怎么走
  • 第三方代缴社保合法吗最新规定
  • 以旧换新会计科目
  • 公司没有收入怎么办
  • 投资性房地产处置的账务处理
  • 处置固定资产和报废固定资产区别
  • 美容行业如何做好管理工作
  • 新企业办理金税盘流程
  • 无法支付的款项应计入
  • 在一台服务器上安装软件
  • mysql主从复制作用
  • Windows7/2008中批量删除隧道适配器的方法
  • win8系统打开苹果系统文件
  • windows关机蓝屏是怎么回事
  • linux ln命令 -s
  • oracle linux6.9
  • 苹果mac 最新系统
  • nmstt.exe - nmstt是什么进程 有什么用
  • win8.1技巧
  • 批处理修改文件修改日期
  • python检索文件中的内容
  • python怎么启动命令
  • jq复选框选中触发事件
  • js实现隔行换色
  • 怎样在中国税务用手机交社保
  • 怎么用发票号码查询商品
  • 江西省税务局发票查询平台官网
  • 社保申报每月几号申报
  • 深圳纳税信息查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设