返回
用Node打造全能高颜统计工具
前端
2023-11-09 18:30:13
用Node开发一个全能高颜统计工具
前言
命令行工具对于我们来说非常的熟悉,一些命令行的操作也极大的简化了我们的日常工作。本文就基于我写的一个Node命令行代码计数器来进行展开。
相信熟悉linux系统的,对于一些ps,grep,cp,mv…等命令用起来应该爱不释手,这也是我想要开发一个便捷命令行的初衷,其次就是记录一下自己学习Node的历程,也给有兴趣的同学做个参考,期待能抛砖引玉,让我们一起交流学习!
工具介绍
这个工具的名字我叫他code-count,是一个命令行工具,它支持统计代码行数、代码字符数、代码单词数,代码文件大小等信息。并且在统计时,会按语言类型分别进行统计,包括Python、JavaScript、C、C++、Java、HTML、CSS等常见的编程语言。
开发过程
1. 环境搭建
首先,我们需要安装Node.js和npm。在终端中输入以下命令即可:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
source ~/.zshrc
nvm install node
2. 项目初始化
接下来,我们创建一个新的Node.js项目:
mkdir code-count
cd code-count
npm init -y
3. 安装依赖
接下来,我们需要安装一些必要的依赖:
npm install commander
npm install chalk
npm install figlet
npm install read-pkg-up
4. 编写代码
接下来,我们编写代码。首先,我们创建一个index.js文件,并输入以下代码:
const commander = require('commander');
const chalk = require('chalk');
const figlet = require('figlet');
const readPkgUp = require('read-pkg-up');
commander
.version('1.0.0')
.description('统计代码行数、代码字符数、代码单词数等信息')
.option('-f, --file <file>', '要统计的文件')
.parse(process.argv);
if (!commander.file) {
console.log(chalk.red('请指定要统计的文件'));
process.exit(1);
}
const { pkg } = readPkgUp.sync();
const language = pkg.language;
5. 运行工具
最后,我们可以运行工具了:
node index.js -f src/index.js
优化代码
为了使工具更易用,我们可以对代码进行一些优化。例如,我们可以添加一个帮助命令,以便用户查看工具的帮助信息:
commander.on('--help', function() {
console.log('用法:');
console.log(' code-count [-f|--file <file>]');
console.log('');
console.log('选项:');
console.log(' -f, --file <file> 要统计的文件');
});
美化界面
为了使工具的界面更美观,我们可以使用chalk库来对输出信息进行着色:
console.log(chalk.green('统计结果:'));
console.log(chalk.yellow('代码行数:' + lineCount));
console.log(chalk.yellow('代码字符数:' + charCount));
console.log(chalk.yellow('代码单词数:' + wordCount));
结语
以上就是Node命令行小玩具--高颜统计工具的开发过程。希望能对你有帮助!