Node 项目使用文档
项目概述
本项目是一个 Node.js 应用程序,旨在统计指定目录(包括其子目录)中所有文件的代码行数、注释行数、空行数以及总行数,并能生成详细的统计报告。通过简单的命令行参数,用户可以灵活控制输出结果的格式、 是否导出结果(默认导出)、以及排除特定的目录或文件。
主要功能
- 代码行数统计:统计指定目录中所有有效代码的行数。
- 注释行数统计:统计指定目录中所有注释的行数。
- 空行数统计:统计指定目录中所有的空行数。
- 总行数统计:统计指定目录中所有行的总数。
- 详细报告生成:生成包含编程语言分布、文件分布以及目录分布的详细报告。
- 自定义排除:支持通过命令行参数排除特定的目录或文件。
- 结果导出:支持将统计结果导出到默认为程序运行目录下的
outputFiles
文件夹中。 - 文件类型过滤:支持指定特定的文件类型进行统计,如
.js
或.py
文件。
支持的文件类型
本项目支持以下常见编程语言的文件类型:
文件类型 | 编程语言 |
---|---|
js | JavaScript |
py | Python |
java | Java |
xml | XML |
html | HTML |
lua | Lua |
cs | C# |
php | PHP |
css | CSS |
vue | Vue |
ts | TypeScript |
go | Go |
c | C |
cpp | C++ |
h | C/C++ Header |
cc | C++ |
inl | C++ Inline |
rs | Rust |
安装与依赖
安装 Node.js 和 npm
要运行本项目,需确保已安装 Node.js 和 npm(Node 包管理器)。如尚未安装,请从 Node.js 官方网站 下载并安装最新版本的 Node.js 和 npm。
安装项目依赖
在项目根目录下运行以下命令以安装项目依赖:
bash
npm install code-line-reporter
使用方法
在项目根目录下,通过终端运行以下命令来统计指定目录的代码行数等信息:
bash
code-line-reporter <路径> [--summary] [--export] [--exclude <排除目录1> <排除目录2> ...] [--type <文件类型>]
或者通过以下命令来获得帮助:
bash
code-line-reporter --help
其中:
<路径>
:要统计的目录路径。--summary
:可选参数,用于控制是否简化输出结果。若指定此参数,则仅显示总计信息。(默认导出)--export
:可选参数,用于控制是否将结果导出到output.txt
文件中。若指定此参数,则结果将被导出到该文件。--exclude
:可选参数,用于排除特定的目录或文件。可指定多个排除目录或文件,它们之间用空格分隔。--type
:可选参数,用于指定要统计的文件类型,如js
或py
。可指定多个文件类型,它们之间用空格分隔。
示例
统计当前目录下的所有文件的代码行数等信息,并简化输出结果:
bashcode-line-reporter --summary
- 统计指定目录(例如 F:\node_pkg
)的代码行数等信息,并将结果导出到 output.txt
文件中:
bash~~ ~~code-line-reporter F:\node_pkg --export~~ ~~
统计指定目录(例如
F:\node_pkg
)的代码行数等信息,排除test
和build
目录:bashcode-line-reporter F:\node_pkg --exclude test build
统计指定目录(例如
F:\node_pkg
)的代码行数等信息,仅统计.js
和.py
文件:bashcode-line-reporter F:\node_pkg --type js py
注意:上述命令中的参数和路径可根据实际情况进行调整,且参数之间可组合使用。
输出示例
- 默认输出:不使用
--summary
参数时,程序将输出每个文件的详细统计信息,包括文件路径、编程语言、有效行数、注释行数、空行数以及总行数。此外,还会输出总计信息。 - 简化输出:使用
--summary
参数时,程序将仅输出总计信息,包括文件数、有效行数、注释行数、空行数以及总行数。 导出输出:使用--export
参数时,程序将上述输出(默认输出或简化输出)保存到output.txt
文件中。- 指定统计类型文件:使用
--type
参数时,程序将统计目录下指定文件类型。
注意事项
- 确保指定的目录路径存在且可读。
- 如果要排除特定的目录或文件,请确保它们的路径正确。
- 文件类型参数(
--type
)支持多个文件类型,它们之间用空格分隔,无需指定文件后缀的点(.
)。