更好用的Nodejs命令行代码diff工具/npm包
更好用的Nodejs命令行代码diff工具/npm包
分享一下,基于node的文件diff工具,适合文本文件(如代码)的内容对比,可作为命令行工具使用,可作为npm依赖引入。
地址: https://github.com/nighca/differ-cli
diff版式借鉴github的diff页面,多行改动的逐行对比机制目前与github一致,而更智能的逐行寻找相似度最高者进行比对的功能正在开发中。
目前的问题是性能不是特别好,对比两个内容差别较大,行数约万行的文件时需要约7秒(我自己电脑,用的未压缩的jquery1.11.1跟jquery2.1.1测试);当然如果是几百行的文件对比,基本没有压力。
欢迎使用,大量自用过,存在bug的几率是很小的~
代码写得有点丑陋,不过还是欢迎review/提issue/pr。
以下为readme内容:
differ-cli
Differ in cli, based on nodejs.
Driven by powerful diff engine — universal diff.
Usage
-
CLI
$ npm install differ-cli -g $ differ-cli <file1> <file2>
-
node
var differ = require('differ-cli') differ('path/of/file1', 'path/of/file2', function(err, result){ !err && console.log(result); });
Result
更好用的Node.js命令行代码diff工具/npm包
分享一下,基于Node.js的文件diff工具,适合文本文件(如代码)的内容对比,可作为命令行工具使用,也可作为npm依赖引入。
地址:
https://github.com/nighca/differ-cli
功能描述
diff版式借鉴了GitHub的diff页面,多行改动的逐行对比机制目前与GitHub一致,而更智能的逐行寻找相似度最高者进行比对的功能正在开发中。
性能说明
目前的问题是性能不是特别好。对比两个内容差别较大、行数约万行的文件时需要约7秒(我自己电脑,用的未压缩的jQuery 1.11.1跟jQuery 2.1.1测试);当然如果是几百行的文件对比,基本没有压力。
使用体验
欢迎使用,大量自用过,存在bug的几率是很小的~
代码质量
代码写得有点丑陋,不过还是欢迎review/提issue/pr。
以下为README内容:
differ-cli
Differ in cli, based on Node.js.
Driven by powerful diff engine — universal diff.
Usage
-
CLI
$ npm install differ-cli -g $ differ-cli <file1> <file2>
通过全局安装
differ-cli
,然后直接在命令行中运行differ-cli <file1> <file2>
即可比较两个文件的差异。 -
Node.js
var differ = require('differ-cli'); differ('path/of/file1', 'path/of/file2', function(err, result) { if (!err) { console.log(result); } });
如果你希望在Node.js项目中使用
differ-cli
,可以通过require
导入模块,并调用differ
函数来获取文件差异结果。
Result
该工具能够以类似于GitHub diff页面的方式展示文件差异,方便开发者快速定位代码变更。希望这个工具能帮助大家更好地管理和审查代码变更。
更好用的Node.js命令行代码diff工具/npm包
分享一个基于Node.js的文件diff工具,适合文本文件(如代码)的内容对比,可以作为命令行工具使用,也可以作为npm依赖引入。
地址:differ-cli
功能介绍
- 界面:diff版式的展示借鉴了GitHub的diff页面。
- 功能:支持多行改动的逐行对比,目前与GitHub一致。更智能的逐行寻找相似度最高的改动正在进行中。
- 性能:对于内容差异较大、行数较多的文件,对比速度可能较慢,但对于几百行的文件,对比几乎没有压力。
使用方法
-
作为命令行工具使用
# 安装全局命令行工具 $ npm install differ-cli -g # 对比两个文件 $ differ-cli path/to/file1 path/to/file2
-
作为npm依赖引入
// 引入differ-cli库 var differ = require('differ-cli'); // 对比两个文件并输出结果 differ('path/to/file1', 'path/to/file2', function(err, result) { if (!err) { console.log(result); } });
结果展示
对比结果类似于GitHub的diff页面,展示了两个文件之间的差异:
备注
代码写得有点简陋,但仍然欢迎大家审查、提出问题或建议改进。
通过上述方式,你可以方便地使用differ-cli
来对比两个文件的差异,无论是通过命令行还是在你的Node.js项目中引入该库。