基于JavaScript的diff实用工具
我正在寻找一个JavaScript编写的差异等价物,只返回/打印相关的行。 我不希望两个全文紧挨着显示,但差异仅在于实际差异(加上一些缓冲行来知道差异在哪里),类似于linux diff实用程序的输出。
有没有人知道这样做的JavaScriptfunction? 应该认识到所有的差异(甚至改变空格)。 谢谢。
jsdifflib内联模式比较,尝试调整上下文大小来显示所需的更改窗口。 这里有一个演示
我完全重buildjsdifflib实用程序的速度。 由于我的版本不需要DOM访问,所以速度至less要快4.5倍,而且它还扩展为突出显示每行中的字符差异。
http://prettydiff.com/diffview.js
您可以使用在线工具直接在http://prettydiff.com/进行testing
还有谷歌的google-diff-match-patch
也可在NPM上使用
npm install diff-match-patch
我不知道在Linux或Linux的diff工具一般,但这可能是你正在寻找jsdifflib 。 你可以在那里find一个生动的例子,看看它是否适合你。
检查CodeMirror 。 Nuff说。
检查我最小的实现: https : //github.com/Slava/diff.js
查看wikEd diff JavaScript库。 还有一个在线工具 。
wikEd difffunction内嵌文本比较与块移动突出显示和字符/基于字的解决scheme。 它针对维基百科源文本进行了优化,但适用于任何types的文本或代码。 库代码是完全可定制的,具有Unicode支持,被广泛评论,并在公共领域。
- 合并是完全值得检查。 仅基于CodeMirror的客户端。
- 然后是需要服务器端差异计算的CodeMirror演示 。
- jsdifflib和prettydiff在其他答案中提到。
jsdifflib看起来很有前途 – 尝试从该页面链接的演示。
老问题,我知道,但如果你做的节点工作或想要的东西,与requirejs / commonjs模块兼容
我真的很喜欢https://www.npmjs.com/package/diff
console.log(diff.createPatch('some file name.txt', expected, actual));