因为一直想写一个文字比对的工具,所以研究了一下,采用了CodeViewer,官方地址:https://codemirror.net/
CodeViewer的核心是代码编辑器,但是文件比对的话可以直接用它的merge插件MergeView
因为我想放在自己的主站上,而我的主站采用angular7作为技术栈,所以这里以angular为例使用MergeView制作自己的文字比对工具
Angular引用CodeMirror,自离不开安装包
npm install ng2-codemirror -- save
npm install codemirror -- save
这两个安装完之后,就可以直接用CodeMirror了,但本文主旨不在制作一个文字编辑器,所以具体使用请读者继续研究。
merge插件是CodeMirror关于文件对比的一个工具,官网有具体例子:https://codemirror.net/demo/merge.html
他的编辑器形态用的自己的CodeMirror,而文字比对用到google的文字处理工具diff_match_patch.js,其有多种语言实现,能够依据最优算法查找出两个字符串之间的不同,下面是一个示例
<html>
<head>
<script src="diff_match_patch.js">