2012-03-23 29 views
17

我正在尋找一個JavaScript差異算法實現或庫,它已經過測試並且可以使用任意的utf8文本文件。nodejs是否有一個工作差異庫或算法?

所有我迄今發現的那些的(比方說,http://ejohn.org/projects/javascript-diff-algorithm/)未能對極端情況

(嘗試使用包含在我的例子庫中的字符串'__proto__'文件。)

+1

http://toolbox.no.de/search?q=diff – fent 2012-03-23 01:52:07

+0

DeaDEnD請張貼作爲答案,它解決了我的問題。 – blueberryfields 2012-03-23 14:39:11

+0

還有爲unix編寫的diff工具,使用它們 – Raynos 2012-04-12 22:30:19

回答

10

也許這將幫助你 - jsdiff

+1

上游再次提前,所以我更新了鏈接。我懷疑你在上傳時已經落後了。以下是它與之前鏈接的一個:https://github.com/NV/jsdiff – 2013-02-23 23:32:04

3

我是google diff match patch的粉絲。你可以嘗試一個例子here

有不同的清理選項來調整差異之間的通用性水平。我不喜歡語義清理選項,因爲我覺得它過於激進,但效率清理值爲10對我來說效果不錯。

+0

我喜歡這個,因爲它可以在Java,JavaScript,Dart,C++,C#,Objective C,Lua和Python中使用。不管語言如何,每個庫都具有相同的API和相同的功能。 – elwarren 2014-02-21 15:12:24

1

查看JavaScript庫wikEd diff。它具有Unicode和多語言支持。它還檢測並突出顯示塊移動,並基於字/字符。您也可以使用online too/demo來測試不同的設置並查看內部數據結構。圖書館的代碼已完全評論。