内网机器上打开 app.diagrams.net,转了快两分钟,最后跳出 ERR_CONNECTION_TIMED_OUT。要画一张部署图又不能连外网,draw.io 其实有现成的离线形态,只是名字不一样,容易搜错东西。

三种离线形态,按需要挑

桌面版是打包好的本地程序,装上就能用,默认不联网也照画。VS Code 扩展叫 Draw.io Integration,直接在编辑器里打开 .drawio 文件。第三种是把 webapp 的静态文件放到内网服务器,浏览器访问,适合一个组共用一个入口。

桌面版和文件格式

桌面版新建的文件默认存成 .drawio,本质是 XML,纯文本,能进 Git 管版本,改了什么一目了然。导出支持 PNG、SVG、PDF,导出时可以勾选把源文件嵌进图片,以后把图片拖回画布还能继续编辑。这个习惯值得养成,比单独再存一份源文件可靠。

它默认关掉了在线功能,模板库、图标搜索这些要联网的部分用不了。需要的图标可以提前在能上网的机器上导成 SVG,做成自定义库再拷进内网导入,一次准备长期受用。

VS Code 扩展适合什么场景

画完就提交,不想在编辑器和画图软件之间来回切,装这个最省事。它在编辑器里渲染画布,保存就是保存文件,配合 Git 看差异也方便。缺点是画布被编辑器窗口框住,复杂的大图操作起来别扭,缩放和拖动都不如独立窗口顺手。

内网自建静态站

把 webapp 目录放进 Nginx 的站点根目录,改一下配置里的路径,浏览器打开内网地址就能用。这样多人访问同一个入口,但文件还是各自下载各自保存,没有协同编辑。真要多人同时改一张图,得买付费版或者另找工具,别指望静态站能实现。

顺带提醒,文件名里的中文和空格在共享出去的时候容易出问题,别人解压后名字乱码,团队里统一用英文短横线命名更省心。

判断很简单:一个人用又要离线,装桌面版;天天写代码顺手画两张,用扩展;团队统一入口,做静态站。它本来就是免费软件,没必要去下什么来路不明的破解包。