vue中使用mergely.js

1.安装mergely.js、codemirror、jquery

cnpm install mergely

cnpm install codemirror

cnpm install jquery

2.配置vue.config.js

configureWebpack: {
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
        CodeMirror: 'codemirror'
      })
    ],
    resolve: {
      alias: {
        'mergely':      path.join(__dirname, 'node_modules', 'mergely'),
        'CodeMirror':   path.join(__dirname, 'node_modules', 'codemirror'),
        'jQuery':       path.join(__dirname, 'node_modules', 'jquery'),
        '$':            path.join(__dirname, 'node_modules', 'jquery')
      }
    },
  },

3.使用mergely

<template>
   <div class="mergely-full-screen-8">
     <div class="mergely-resizer">
       <div @click="saveDiff">下载对比文件</div>
       <div id="mergely"></div>
     </div>
   </div>
</template>

<script>
import 'codemirror/lib/codemirror.css'
import 'codemirror/lib/codemirror.js'
import 'mergely/lib/mergely.css'
import 'mergely/lib/mergely.js'

export default {
  data() {
    return {
    }
  },
  mounted() {
    // 渲染diff界面
    $(document).ready(() => {
      $('#mergely').mergely({
        sidebar: false,
        lhs: (setValue) => {
          setValue('the quick red fox\njumped over the hairy dog')
        },
        rhs: (setValue) => {
          setValue('the quick brown fox\njumped over the lazy dog')
        },
      })
    })
  },
  methods: {
    // 实现diff文件差异内容下载
    saveDiff() {
      let a = $('#mergely');
      var n = a.mergely('diff') // 获得对比差异数据
      let key = '文件名'
      // 创建a标签,下载diff文件
      let aHref = document.createElement('a');
      aHref.setAttribute('href','data:application/stream;base64,' + window.btoa(unescape(encodeURIComponent(n))));
      aHref.setAttribute('target','_blank');
      aHref.setAttribute('text','clickme');
      aHref.setAttribute('id',key);
      aHref.setAttribute('download', key + '.diff');
      document.body.appendChild(aHref);
      aHref.click();
      aHref.remove();
    },
}
</script>

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值