Vue-cli3生成的Vue项目加载Mxgraph方法示例


Posted in Javascript onMay 31, 2020

使用Vue-cli3生成Vue项目,并等待项目创建成功。

vue create [项目名]

安装mxgraph。

cnpm install mxgraph --save

安装exports-loader。

cnpm install exports-loader --save

安装script-loader。

cnpm install script-loader --save

在项目根目录新建vue.config.js文件。

将以下内容复制到vue.config.js文件中。

const path = require('path');

function resolve(dir) {
  return path.join(__dirname, dir);
}

module.exports = {
  publicPath: './',
  outputDir: 'dist',
  lintOnSave: true,
  chainWebpack: (config) => {
    config.module
      .rule('')
      .test(/mxClient\.js$/)
      .use('exports-loader')
      .loader('exports-loader?mxClient,mxGraphModel,mxActor,mxShape,mxEventObject,mxGraph,mxPrintPreview,mxEventSource,mxRectangle,mxVertexHandler,mxMouseEvent,mxGraphView,mxImage,mxGeometry,mxRubberband,mxKeyHandler,mxDragSource,mxGraphModel,mxEvent,mxUtils,mxWindow,mxEvent,mxCodec,mxCell,mxConstants,mxPoint,mxGraphHandler,mxCylinder,mxCellRenderer,mxEvent,mxUndoManager')
      .end();
    config.resolve.alias
      .set('@', resolve('src'))
      .set('@assets', resolve('src/assets'));
    // 按这种格式.set('', resolve('')) 自己添加
  }
};

修改HelloWorld.vue,替换为以下内容。

<template>
  <div ref="graph_container"></div>
</template>

<script>
import {
  mxGraph
} from 'mxgraph/javascript/mxClient';

export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  mounted() {
    // Creates the graph inside the given container
    var graph = new mxGraph(this.$refs.graph_container);

    // Gets the default parent for inserting new cells. This
    // is normally the first child of the root (ie. layer 0).
    var parent = graph.getDefaultParent();

    // Adds cells to the model in a single step
    graph.getModel().beginUpdate();
    try {
      let v1 = graph.insertVertex(parent, null, 'Hello,', 20, 20, 80, 30);
      let v2 = graph.insertVertex(parent, null, 'World!', 200, 150, 80, 30);

      graph.insertEdge(parent, null, '', v1, v2);
    } finally {
      // Updates the display
      graph.getModel().endUpdate();
    }
  }
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}

ul {
  list-style-type: none;
  padding: 0;
}

li {
  display: inline-block;
  margin: 0 10px;
}

a {
  color: #42b983;
}
</style>

运行项目,查看效果。此Demo的源码可以查看

到此这篇关于Vue-cli3生成的Vue项目加载Mxgraph方法示例的文章就介绍到这了,更多相关Vue项目加载Mxgraph内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 函数式编程的原理
Oct 16 Javascript
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
js 固定悬浮效果实现思路代码
Aug 02 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
Aug 05 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
通过jsonp获取json数据实现AJAX跨域请求
Jan 22 Javascript
js a标签点击事件
Mar 30 Javascript
Vue2.0+ElementUI实现表格翻页的实例
Oct 23 Javascript
详解javascript函数写法大全
Mar 25 Javascript
vue实现评论列表功能
Oct 25 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 #Javascript
部署vue+Springboot前后端分离项目的步骤实现
May 31 #Javascript
JQuery获得内容和属性方法解析
May 30 #jQuery
JavaScript Window浏览器对象模型原理解析
May 30 #Javascript
基于canvasJS在PHP中制作动态图表
May 30 #Javascript
jQuery实现视频展示效果
May 30 #jQuery
vue实现购物车加减
May 30 #Javascript
You might like
PHP面向对象编程快速入门
2006/12/14 PHP
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
帝国cms目录结构分享
2015/07/06 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python中的lambda表达式用法详解
2016/06/22 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
五年级英语教学反思
2014/01/31 职场文书
会计人员岗位职责
2014/03/19 职场文书
工程部岗位职责
2015/02/10 职场文书
初三化学教学反思
2016/02/22 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电