我正在尋找一個JavaScript差異算法實現或庫,它已經過測試並且可以使用任意的utf8文本文件。nodejs是否有一個工作差異庫或算法?
所有我迄今發現的那些的(比方說,http://ejohn.org/projects/javascript-diff-algorithm/)未能對極端情況
(嘗試使用包含在我的例子庫中的字符串'__proto__'
文件。)
我正在尋找一個JavaScript差異算法實現或庫,它已經過測試並且可以使用任意的utf8文本文件。nodejs是否有一個工作差異庫或算法?
所有我迄今發現的那些的(比方說,http://ejohn.org/projects/javascript-diff-algorithm/)未能對極端情況
(嘗試使用包含在我的例子庫中的字符串'__proto__'
文件。)
也許這將幫助你 - jsdiff
上游再次提前,所以我更新了鏈接。我懷疑你在上傳時已經落後了。以下是它與之前鏈接的一個:https://github.com/NV/jsdiff – 2013-02-23 23:32:04
有一個我在下面的頁面中用javascript編寫的diff算法實現。
https://github.com/cubicdaiya/onp
這種運行具有node.js中此外,在以下頁面中還有一個針對node.js的C++插件版本。
https://github.com/cubicdaiya/node-dtl
您可以通過NPM安裝此。
$ NPM安裝-g DTL
還有adiff這是寫在JavaScript中的差異/補丁庫。
是,裏面的Mocha test tool的地方 - 看到TJ Holowaychuk's blog post about it。
我是google diff match patch的粉絲。你可以嘗試一個例子here。
有不同的清理選項來調整差異之間的通用性水平。我不喜歡語義清理選項,因爲我覺得它過於激進,但效率清理值爲10對我來說效果不錯。
我喜歡這個,因爲它可以在Java,JavaScript,Dart,C++,C#,Objective C,Lua和Python中使用。不管語言如何,每個庫都具有相同的API和相同的功能。 – elwarren 2014-02-21 15:12:24
查看JavaScript庫wikEd diff。它具有Unicode和多語言支持。它還檢測並突出顯示塊移動,並基於字/字符。您也可以使用online too/demo來測試不同的設置並查看內部數據結構。圖書館的代碼已完全評論。
http://toolbox.no.de/search?q=diff – fent 2012-03-23 01:52:07
DeaDEnD請張貼作爲答案,它解決了我的問題。 – blueberryfields 2012-03-23 14:39:11
還有爲unix編寫的diff工具,使用它們 – Raynos 2012-04-12 22:30:19