更好用的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

diff result


2 回复

更好用的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

Diff Result

该工具能够以类似于GitHub diff页面的方式展示文件差异,方便开发者快速定位代码变更。希望这个工具能帮助大家更好地管理和审查代码变更。


更好用的Node.js命令行代码diff工具/npm包

分享一个基于Node.js的文件diff工具,适合文本文件(如代码)的内容对比,可以作为命令行工具使用,也可以作为npm依赖引入。

地址:differ-cli

功能介绍

  • 界面:diff版式的展示借鉴了GitHub的diff页面。
  • 功能:支持多行改动的逐行对比,目前与GitHub一致。更智能的逐行寻找相似度最高的改动正在进行中。
  • 性能:对于内容差异较大、行数较多的文件,对比速度可能较慢,但对于几百行的文件,对比几乎没有压力。

使用方法

  1. 作为命令行工具使用

    # 安装全局命令行工具
    $ npm install differ-cli -g
    
    # 对比两个文件
    $ differ-cli path/to/file1 path/to/file2
    
  2. 作为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页面,展示了两个文件之间的差异:

diff result

备注

代码写得有点简陋,但仍然欢迎大家审查、提出问题或建议改进。


通过上述方式,你可以方便地使用differ-cli来对比两个文件的差异,无论是通过命令行还是在你的Node.js项目中引入该库。

回到顶部