nodejs shell交互_在线编译系统之nodejs执行shell

本文总结了一个在线编译系统开发过程中的经验,重点讨论了Node.js中的路径处理、执行Shell命令以及异步操作。通过path模块解决路径问题,利用child_process模块的exec和execFile执行shell命令,注意路径环境的调整。此外,还介绍了async模块在管理异步流程中的作用,提倡使用面向对象编程提升代码质量。
摘要由CSDN通过智能技术生成

最近公司做个简单的小工具,是一个简单的在线编译系统。现在做几点简单的总结记录。

1、路径的问题。

node程序执行的路径,可能会影响程序中的相对路径使用。(这点有待进一步研究,分析理论)因此就用到了path模块。之前也没觉得这个模块有多重要,这次才发现它的方便。下面几个是我用到的。

以下只是自己的简单理解,可能并不表达的那么准确,具体请参考nodejs的官网api。(建议看英文版的,中文版还是稍微有些不全的)

path.resolve(from, to)  : from是一个绝对路径,to是一个相对路径,最终to的绝对路径。注意,to若是一个目录,则这个路径得到的是一个目录的路径,但这个路径最后没有“/”。若是文件,则是文件的绝对路径。

path.relative(from,to): from和to都是绝对路径,得到from相对于to的相对路径。

path.basename(p,[ext]):  得到路径最后的文件名,包括后缀名。如果加了ext参数项,则只返回文件的名字,不包括后缀名。

path.extname(p):得到文件的后缀名,包括“.”。

path.dirname(p):得到路径的目录名.不包括最后的“/”。

path.join(args1, arg2....): 将各个参数合并为一个路径,并且规范化。

2、nodejs执行shell

在这个编译系统中,很多东西都是用shell完成的。shell确实很重要,也需要花点时间去补充理论知识。

在nodejs中执行shell,使用child_process.有三种方法,spawn,exec

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值