我正在寻找一种用JavaScript编写的diff等效函数,它只返回/打印相关行。我不想看到完整文本并将差异标亮显示在一起,而是只想要实际差异(加上一些缓冲行以知道差异位置),类似于Linux diff实用程序的输出。
有人知道是否有这样的JavaScript函数吗?所有差异都应该被识别(甚至更改了空格)。谢谢。
我正在寻找一种用JavaScript编写的diff等效函数,它只返回/打印相关行。我不想看到完整文本并将差异标亮显示在一起,而是只想要实际差异(加上一些缓冲行以知道差异位置),类似于Linux diff实用程序的输出。
有人知道是否有这样的JavaScript函数吗?所有差异都应该被识别(甚至更改了空格)。谢谢。
我完全重新构建了jsdifflib实用工具以提升速度。由于我的版本不需要访问DOM,因此至少快4.5倍,并且还扩展到每行字符差异的突出显示。
http://prettydiff.com/diffview.js
您可以直接在http://prettydiff.com/在线工具中测试这个工具。
hello
与 hel world
进行比较,它会忽略 rld
。 - user4639281wikEd diff功能是内联文本比较,带有块移动突出显示和基于字符/单词的解决方案。 它针对维基百科源代码进行了优化,但也适用于任何类型的文本或代码。 该库代码完全可定制,支持Unicode,有详细注释,并在公共领域中。
看看CodeMirror。话不多说。
这是一个老问题,但如果你在进行Node工作或想要与requirejs/commonjs模块兼容的东西,我推荐使用https://www.npmjs.com/package/diff。
console.log(diff.createPatch('some file name.txt', expected, actual));