前言

最近进行小版本发包测试时忘记修改版本号了,进而想到在打包前提示输入版本号,然后把版本号打进版本说明内。最终效果为双击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文件,先写简单的提示输入效果。

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

提示输入变成这样

在终端上效果为

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

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

在终端上效果为

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

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提示输入内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!