代码之家  ›  专栏  ›  技术社区  ›  poke

基于JavaScript的diff实用程序[关闭]

  •  63
  • poke  · 技术社区  · 15 年前

    我在找一个 差异 用JavaScript编写的等价代码,只返回/打印相关行。我不希望两个全文都显示在彼此旁边并突出显示差异,只希望实际的差异(加上一些缓冲行以知道差异在哪里),类似于linux diff实用程序的输出。

    有人知道一个javascript函数可以做到这一点吗?所有的差异都应该被识别出来(甚至改变了空格)。谢谢。

    10 回复  |  直到 12 年前
        1
  •  31
  •   Scott Bale    14 年前

    jsdifflib 内联模式比较,尝试调整上下文大小以显示所需的更改窗口。有个演示 here

        2
  •  32
  •   austincheney    14 年前

    为了提高速度,我完全重建了jsdifflib实用程序。由于我的版本不需要DOM访问,它至少快了4.5倍,而且它还扩展到突出显示每行中的字符差异。

    http://prettydiff.com/diffview.js

    http://prettydiff.com/

        3
  •  29
  •   Gian Marco    8 年前

    还有 google-diff-match-patch 来自谷歌

    NPM

    npm install diff-match-patch
    
        4
  •  6
  •   Daniel F    11 年前
        5
  •  4
  •   imslavko    12 年前

    签出我的最小实现: https://github.com/Slava/diff.js

        6
  •  4
  •   cemerick    11 年前

    我对linux或linux中的diff实用程序不太了解,但这可能就是您想要的 jsdifflib . 你可以找到一个活生生的例子,看看它是否适合你。

        7
  •  3
  •   Tim    12 年前

    退房 CodeMirror . 努夫说。

        8
  •  3
  •   Cacycle    11 年前

    wikEd diff JavaScript库。还有一个 online tool .

        9
  •  2
  •   aqm    10 年前

    我知道这是个老问题,但是如果你在做节点工作或者想要一些与requirejs/commonjs模块兼容的东西

    我真的很喜欢 https://www.npmjs.com/package/diff

    console.log(diff.createPatch('some file name.txt', expected, actual));
    
        10
  •  1
  •   cemerick    11 年前