自己写代码对比工具

原创
2018/01/19 20:22
阅读数 2.5K

作者:汪娇娇

时间:2018年1月19日

上一篇:自己写JSON编辑器

基于上一次做的JSON编辑器,继而衍生出这一次的代码对比工具,本来打算写在一块的,想想懒得在写好的一堆东西里倒持,就单独起一个博客吧,也无所谓。

今天要说的主角就是mergely。样式也很简单,但用起来真的很方便。如果不引入自己的项目的话,直接打开mergely的官网首页,直接用就OK。如果要引入自己的项目,比如说我上一篇写的JSON编辑器,编辑完JSON后,人工校验和原有数据的差别,仅凭肉眼看肯定活活累死,而且还不保证准确性。在自动化这么发达的时代,也不允许人工来操作吧,哈哈哈。mergely有文档,照着文档接入也很方便,提供的API也比较全,完全能hold得住平时的工作。

好了,话不多说,下面就是mergely 代码对比的一张截图。

接着,就来说怎么接入。

一、安装

1、用npm和webpack来安装依赖

这种方法就不细说了,对于用惯了webpack的盆友来说,应该很简单。

2、直接引入cdn

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.32.0/codemirror.min.js"></script>
<link rel="stylesheet" media="all" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.32.0/codemirror.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.32.0/addon/search/searchcursor.min.js"></script>

//mergely.js和mergely.css官网是没有直接提供的,我也是直接扒官网首页的代码的,哈哈哈
<script src="lib/mergely/lib/mergely.js" type="text/javascript"></script>
<link rel="stylesheet" media="all" href="lib/mergely/lib/mergely.css">

二、使用

  • index.html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>代码对比工具</title>
		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.32.0/codemirror.css">
		<link rel="stylesheet" href="css/mergely.css">
	</head>
	<body>
		<div class="mergely-full-screen-8">
		  <div class="mergely-resizer">
		    <div id="mergely"></div>
		  </div>
		</div>
	</body>
	<script src="js/jquery.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.32.0/codemirror.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.32.0/addon/search/searchcursor.min.js"></script>
	<script src="js/mergely.js"></script>
	<script src="js/index.js"></script>
</html>
  • index.js
//初始化代码对比区域
$('#mergely').mergely({
    license: 'lgpl-separate-notice',
    width: 1200,
    height: 350,
    wrap_lines: true,
    line_numbers: false,
    lhs: function (setValue) {
        setValue("the quick red fox\njumped over the hairy dog"); //初始化左边区域
    },
    rhs: function (setValue) {
        setValue("the quick brown fox\njumped over the lazy dog"); //初始化右边区域
    }
});

//只读,不可编辑,根据个人需要,要或不要
$('#mergely').mergely('cm', 'lhs').options.readOnly = true;
$('#mergely').mergely('cm', 'rhs').options.readOnly = true;

结果:

一边编辑,就会一边对比,方便得很nei~

上面写的js就能完成很基础的功能,一般也都可用了,至于其他的功能,可详见mergely官网 http://www.mergely.com/doc

展开阅读全文
打赏
0
17 收藏
分享
加载中
娇娇jojo博主

引用来自“娇娇jojojo”的评论

引用来自“明Y”的评论

我的前端报这个错误
$(...).mergely is not a function

回复@明Y : 你看一下该引入的东西都引入了吗

引用来自“明Y”的评论

谢谢你的回复,找到问题的原因了,引入的js冲突了。😄
好嘞,找到问题就行:bowtie:
2018/03/29 15:27
回复
举报

引用来自“娇娇jojojo”的评论

引用来自“明Y”的评论

我的前端报这个错误
$(...).mergely is not a function

回复@明Y : 你看一下该引入的东西都引入了吗
谢谢你的回复,找到问题的原因了,引入的js冲突了。😄
2018/03/27 09:31
回复
举报
娇娇jojo博主

引用来自“明Y”的评论

我的前端报这个错误
$(...).mergely is not a function

回复@明Y : 你看一下该引入的东西都引入了吗
2018/03/26 16:08
回复
举报
我的前端报这个错误
$(...).mergely is not a function
2018/03/21 17:33
回复
举报
为什么我就不成功呢?
2018/03/21 17:33
回复
举报
娇娇jojo博主

引用来自“RoadNorth”的评论

我对对比算法有兴趣 mark
:bowtie:
2018/01/22 16:37
回复
举报
娇娇jojo博主

引用来自“youaadd”的评论

mark,以后可能会用到
:bowtie:
2018/01/22 16:37
回复
举报
娇娇jojo博主

引用来自“红薯”的评论

赞啊
:bowtie:
2018/01/22 16:37
回复
举报
我对对比算法有兴趣 mark
2018/01/21 07:57
回复
举报
mark,以后可能会用到
2018/01/20 11:48
回复
举报
更多评论
打赏
11 评论
17 收藏
0
分享
返回顶部
顶部