位置: 编程技术 - 正文

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

  • 车船税是每个月交还是每年交
  • 社保局发放的稳岗补贴怎么入账
  • 金税盘清卡怎么统计税额
  • 小规模纳税人建筑工程增值税税率
  • 小规模纳税人报税前需要做什么
  • 缴纳销项税额要交税吗
  • 金蝶kis旗舰版使用手册
  • 明细分类账采用的格式有
  • 工会经费拨缴是什么意思
  • 总分公司能互相开票吗
  • 工资中的考核罚款会计怎么处理?
  • 收到联营单位投入的设备一台
  • 理财收益高的产品
  • 土地增值税清算是什么意思
  • 生产企业没有进项税如何交增值税
  • 税费种认定功能在哪里
  • 销售苗木属于什么行业
  • 未开票增值税怎么申报
  • 啥叫规上工业企业
  • 分公司是否需要章程
  • 退税技术有什么影响
  • 从贸易公司购买来的货物可以退税吗
  • 营业范围是销售范围吗
  • 货物入库会计分录怎么做
  • scanregistry.exe - scanregistry是什么进程 有什么用
  • 新税法中工资薪金的规定
  • PHP:mb_ereg_search_pos()的用法_mbstring函数
  • 资产减值损失的借贷方向
  • 汇算清缴期结束后
  • 工程施工下的间接费用下有什么科目
  • php echo js
  • php显示错误报告方式
  • 经验模态分解和变分模态分解
  • 目标检测tricks
  • php 验证类
  • 固定成本又称什么成本
  • nmcli命令配置bond
  • 公司注销清算的会计分录
  • uni app ios
  • 工会经费的使用范围有哪些
  • 充油卡 发票
  • 帝国cms如何使用
  • node.js入门教程
  • 发票过了认证时间期限还可以红冲么
  • 员工探亲路费报销入哪个科目
  • php图片格式转换
  • 股东滥用股东权利
  • 住房公积金中的钱可以当首付吗?
  • 销项发票什么意思
  • 律师事务所收取费用有标准吗
  • 广告公司转让一般多少钱
  • 购买的服务如何申请退款
  • 成本利润率多少是正常的
  • 押金抵货款怎样写协议
  • 免征增值税还要计提附加税吗
  • 材料会计实务操作题答案
  • xp系统本地连接启用不了
  • ubuntucommand not found
  • win10edge浏览器怎么设置兼容模式
  • information_schema翻译
  • win7如何显示桌面
  • linux 744
  • android app架构设计
  • 动态添加echarts
  • perl的$_
  • jquery滚动到底部
  • 搭建安卓开发环境必须的工具
  • css制作热点新闻板块
  • python用于读取文本文件内容的方法
  • js设置导航固定
  • import python-docx
  • jquery 是否显示
  • JavaScript数据类型分为哪两大类
  • javascript var
  • 山东省国税地税体制改革
  • 工会经费范围税率是多少
  • 江苏省常州市国事业单位国企招录测绘工程研究生公告
  • 车辆购置税是国税吗
  • 2023年印花税税目表
  • 伤残补助金要解除合同吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设