maxGraph 0.17.0版本发布:图形适配优化与国际化配置升级

maxGraph 0.17.0版本发布:图形适配优化与国际化配置升级

maxGraph maxGraph is a fully client side JavaScript diagramming library maxGraph 项目地址: https://gitcode.com/gh_mirrors/ma/maxGraph

maxGraph是一个功能强大的JavaScript图形库,专注于提供高性能的图形绘制和交互功能。它广泛应用于流程图、组织结构图、网络拓扑图等可视化场景。最新发布的0.17.0版本带来了多项重要改进,包括图形适配优化、国际化配置升级以及包体积缩减等关键特性。

图形适配优化:FitPlugin新特性

在图形可视化应用中,经常需要将绘制的图形自动适配到容器中显示。0.17.0版本引入了全新的FitPlugin,改进了图形适配和居中的功能实现。

传统的fit()方法虽然能够缩放图形以适应容器,但在处理边距和多调用场景时存在不足。新版本通过FitPlugin提供了更智能的适配方案:

  1. 边距处理更加合理,确保图形不会紧贴容器边缘
  2. 多次调用时减少视觉跳跃,提升用户体验
  3. 提供中心适配功能,使图形始终保持在容器中央

这一改进特别适合需要频繁调整视图或展示大型图形的应用场景,如流程图编辑器或网络拓扑可视化工具。

国际化配置全面升级

0.17.0版本对国际化支持进行了重大重构,使其更加灵活和可配置。在此之前,maxGraph内置的Translations类会默认启用,即使应用不需要国际化支持也会增加包体积。

新版本通过以下方式改进了国际化支持:

  1. 默认禁用内置国际化支持,减少不必要的代码加载
  2. 引入GlobalConfig.i18n配置项,允许开发者按需启用
  3. 支持自定义国际化实现,方便集成现有i18n方案

开发者现在可以更灵活地选择国际化方案,对于不需要国际化的应用,可以显著减少最终打包体积。

包体积优化与性能提升

得益于国际化配置的改进,0.17.0版本在包体积优化方面取得了显著成效。通过以下措施减少了5-10KB的包体积:

  1. 更好的tree-shaking支持,移除未使用的代码
  2. 重构工具函数组织,提高代码复用率
  3. 移除内部误暴露的API,精简公共接口

实测数据显示,在各种构建工具和示例项目中,包体积都有不同程度的缩减。例如TypeScript示例从444.4KB减少到439.15KB,精简了约5KB。

其他重要改进

安全性增强

新版本默认禁用了StylesheetCodec中的eval使用,减少了潜在的安全风险。开发者可以通过显式设置allowEval为true来恢复原有行为。

曲线边样式支持

增加了对曲线边的支持,开发者现在可以更灵活地控制边的绘制样式,包括:

  • 默认直线边
  • 曲线边
  • 圆角边

这一改进丰富了图形的视觉表现力,特别适用于需要区分不同类型连接关系的场景。

工具函数重构

对工具函数进行了重新组织和分类:

  • 网络请求相关函数移至requestUtils
  • GUI相关函数移至guiUtils
  • 移除了旧的utils命名空间 这一重构提高了代码的可维护性和使用清晰度。

升级建议

对于现有项目升级到0.17.0版本,开发者需要注意以下变更点:

  1. 如果依赖内置国际化,需要显式配置GlobalConfig.i18n
  2. 工具函数引用路径需要更新到新的命名空间
  3. 移除了部分内部API,如copyTextToClipboard

总体而言,0.17.0版本在功能、性能和安全性方面都有显著提升,是值得升级的版本。特别是对于需要精细控制图形显示或关注包体积的项目,新版本提供了更多优化空间。

maxGraph maxGraph is a fully client side JavaScript diagramming library maxGraph 项目地址: https://gitcode.com/gh_mirrors/ma/maxGraph

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵇洁虹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值