返回

用Node打造全能高颜统计工具

前端

用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命令行小玩具--高颜统计工具的开发过程。希望能对你有帮助!