想尝试在开源的drawio的基础上做一些开发,实现自己的定制化需求。可能是因为这个工具已经非常完善了吧,找到的大部分都是教你如何使用,开发相关资料太少,看来只能靠自己了。

关于开发环境搭建,请先看这一篇:《draw.io项目本地部署》
在一些资料中提到了三种模式:普通模式,离线模式,开发模式。先通过浏览器控制台,来看一看这三种模式有什么区别:
(首先要注意:浏览器端和服务器端的主机,都与Internet断开,这样才能测试自己部署的情况,否则搞不清哪些地方用到了在线资源)

普通模式:http://localhost:8080/drawio

可以看到在普通模式下,draw.io去尝试获取了google、Dropbox、OneDrive的资源,前两者目前处于被墙的状态,OneDrive如果浏览器联机的话,是能够访问的。这证明了这些资源是由前端直接访问的,没有通过draw.io的tomcat服务器。

离线模式:http://localhost:8080/drawio/?offline=1

可以发现,在离线模式下,前端页面并没有访问google、Dropbox、OneDrive资源。

离线模式:http://localhost:8080/drawio/?dev=1

大块的红色。这证明了在离线模式下,前端并没有调用开发环境的页面内容。比较可信的说法是,在线和离线模式都调用了压缩后的打脚本“drawio/src/main/webapp/js/app.min.js”。所以要进行二次开发并及时看到效果,必须使用开发模式。

打开drawio/src/main/webapp/index.html,修改其中的URL前缀为本地,然后就可以消除上面的红色404错误信息了。

draw.io二次开发(1)三种运行模式的区别相关推荐

  1. python编程模式是什么_python 开发的三种运行模式详细介绍

    Python 三种运行模式 Python作为一门脚本语言,使用的范围很广.有的同学用来算法开发,有的用来验证逻辑,还有的作为胶水语言,用它来粘合整个系统的流程.不管怎么说,怎么使用python既取决于 ...

  2. python的编程模式-python编程(python开发的三种运行模式)【转】

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 单循环模式 多线程模式 reactor模式 [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing ...

  3. python编程(python开发的三种运行模式)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] python作为一门脚本语言,使用的范围很广.有的同学用来算法开发,有的用来验证逻辑,还有的作为 ...

  4. 【Tomcat】Tomcat Connector的三种运行模式【bio、nio、apr】

    Tomcat Connector(Tomcat连接器)有bio.nio.apr三种运行模式 bio bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O ...

  5. Tomcat Connector的三种运行模式【bio、nio、apr】

    Tomcat Connector(Tomcat连接器)有bio.nio.apr三种运行模式 bio bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O ...

  6. Spark的三种运行模式

    Spark三种运行模式 1.Spark运行模式: 2.验证Spark三种模式代码 1.Spark运行模式: ①Local(也称单节点模式):常用于开发和学习 ./spark-shell - -mast ...

  7. spark sql 本地调试_Spark精华问答|Spark的三种运行模式有何区别?

    戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...

  8. Spark精华问答 | Spark的三种运行模式有何区别?

    戳蓝字"CSDN云计算"关注我们哦! Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第 ...

  9. SaaS、 PaaS和IaaS,云计算三种服务模式的区别

    1. SaaS:Software-as-a-Service(软件即服务) 提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器.消费者不需要管理或 ...

最新文章

  1. CentOS7下Firewall 开放指定端口
  2. cv2.waitKey(1) == ord('key')的等待键盘用法
  3. 改变UITableView的headerView、footerView背景颜色
  4. HTML5标签的语义认知和理解
  5. 特征筛选(随机森林)
  6. 使用mpvue和wepy开发小程序
  7. 我XXXX!!!够了!!!从github拉到dockerhub,再用daocloud加速下载
  8. hystrix熔断和降级的区别_Ribbon+Hystrix断路器实现微服务的降级和熔断
  9. python plt画半对数坐标_特征工程大传:对数变换
  10. FFmpeg开发实战(三):FFmpeg 打印音视频Meta信息
  11. 小型 web 服务器系统,小型WEB服务器 - 应用服务器是什么_应用服务器有哪些
  12. java希尔排序的实例,Java 插入排序之希尔排序的实例
  13. 暗影精灵3等游戏本设置风扇静音
  14. 无密码如何破解PDF加密
  15. python计算不定积分_python快速求解不定积分和定积分
  16. Ubuntu 22.04 LTS apt-get update 报 Key is stored in legacy trusted.gpg keyring 警告解决方案
  17. JAVA四大名著(程序员必读)
  18. 苹果可穿戴设备项目背后的那些专家
  19. 包头新松机器人_煤矿机器人现状及发展方向
  20. zend及Slim 漏洞合集

热门文章

  1. 使用libvirt管理kvm(virsh篇)
  2. 安装labelImg对数据集标注
  3. ROS系统的安装 ubuntu 18.04.5 LTS
  4. C++ 使用静态变量和静态方法统计学生分数和学生个数
  5. python常用模块实例_python中常用的各种数据库操作模块和连接实例
  6. document.getElementByName()的用法
  7. 调用Excel或Oracle数据,数据加载,selenium等使用实例
  8. puppeteer(headless chrome)实现网站登录
  9. Struts2 随笔1
  10. mysql 忘记root密码 进行重置