欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

nodejs利用readline提示输入内容实例代码

程序员文章站 2022-03-07 08:01:04
前言最近进行小版本发包测试时忘记修改版本号了,进而想到在打包前提示输入版本号,然后把版本号打进版本说明内。最终效果为双击bat文件在终端内提示输入版本号,输入完成后保存版本号。虽说批处理也可以做这事,...

前言

最近进行小版本发包测试时忘记修改版本号了,进而想到在打包前提示输入版本号,然后把版本号打进版本说明内。最终效果为双击bat文件在终端内提示输入版本号,输入完成后保存版本号。

虽说批处理也可以做这事,但用js来写更得心应手点,故选用js处理。

过程分为四步

  • bat执行js
  • 终端提示输入版本号、执行打包命令
  • 修改版本号文件
  • gulp读取版本号json文件

简单来说是用bat文件触发打包命令进行打包。

1. bat执行js

首先创建两个文件buildversion.bat、buildversion.js。

buildversion.bat中使用node运行js文件

%~dp0为当前目录。也可以在js后面传参数,如--buildtype default

2. 终端提示输入版本号、执行打包命令

使用readline实现问答效果,再用child_process执行打包命令行。

进入buildversion.js文件,先写简单的提示输入效果。

这样达不到效果。我们先显示之前的版本号,然后再提示输入新版本号,而且输入为空时沿用上次版本号。

提示输入变成这样

在终端上效果为

nodejs利用readline提示输入内容实例代码

有时版本号前会有固定前缀,我们在提示输入时把前缀显示出来,可以随意删除

接下来是运行打包命令。当前项目使用gulp打包。要在终端中显示gulp的提示信息,选用child_process.spawn

在终端上效果为

nodejs利用readline提示输入内容实例代码

使用其他打包工具可以这样

3. 修改版本号文件

修改文件我想到的事用fs.writefile写文件,但这样对json格式很好处理,对js文件处理很不方便。所以我把版本信息单独存在json文件中。创建两个文件version.js、version.json。

4. gulp读取版本号json文件

这一步就简单了。可以直接引用json。

const versioninfo = require('./src/config/version/version.js');

也可以从gulp命令中拿到版本号。

做近一步的处理。

总结

到此这篇关于nodejs利用readline提示输入内容的文章就介绍到这了,更多相关nodejs readline提示输入内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!