断网了 WebCat 还能用吗
先说结论
纯前端项目的编辑和预览完全离线可用——这是 WebCat 的核心卖点之一。但涉及联网的功能在没网时自然用不了,页面里引用外部 CDN 资源时也会受影响。
离线时能用的(不需要网络)
| 功能 | 离线可用 | 说明 |
|---|---|---|
| 新建/编辑工程 | ✅ | 本地文件操作 |
| 语法高亮与自动补全 | ✅ | 编辑引擎本地运行 |
| 格式化代码 | ✅ | 同上 |
| 即时预览 | ✅ | 内置 WebView 本地加载 |
| PHP 本地运行环境 | ✅ | 本地服务器 |
| 局域网访问 | ❌ 需要 Wi-Fi 但不需要互联网 | 电脑和手机在同一局域网就行 |
| ZIP 导入/导出 | ✅ | 本地文件操作 |
| 一键打包 APK | ✅ | 打包过程完全本地 |
| 自动保存 | ✅ | 本地文件写入 |
| 暗黑模式切换 | ✅ | 纯显示切换 |
离线时不能用的(需要网络)
| 功能 | 离线不可用 | 说明 |
|---|---|---|
| 共享空间上传/下载 | ❌ | 云端社区功能 |
| 云同步(如果有) | ❌ | 需要联网同步 |
| 页面引用外部 CDN | ❌ | CDN 资源加载失败 |
| 页面里的 fetch 外部 API | ❌ | 请求发不出去 |
| CatNative 的网络相关 API | ❌ | WebCatX 的网络请求也需要联网 |
断网时常见问题
① 页面里引用的 CDN 资源加载不出来
比如 HTML 里写了 <script src="https://cdn.jsdelivr.net/npm/vue"></script>,断网时这个文件加载不到,Vue 就没了,页面里依赖 Vue 的 JS 功能全挂。
解法(平时就做好):
- 把 CDN 资源下载到工程本地,比如存到
js/vendor/vue.js - HTML 里改成相对路径引用:
<script src="js/vendor/vue.js"></script> - 这样无论联网断网,引用都能正常工作
② fetch 外部 API 失败
如果你的代码里通过 fetch() 去请求外部 API(比如天气接口、翻译接口),断网时请求会报网络错误。这是正常的——你代码里应该有网络错误的兜底处理(try-catch 或 .catch())。
③ PHP 里需要网络的代码不工作
比如 PHP 里用 file_get_contents('http://...') 去抓外部页面,断网时这一行也会失败。
④ PHP 环境和预览都能用,但想分享不行
想把 APK 发给朋友、或想把源码上传共享空间——这些操作需要联网才能完成。断网时只能先把文件存到本地,等有网了再发。
离线开发的正确姿势
- 准备好本地资源:常用的 CSS 框架、JS 库下载到工程里用相对路径
- 设计上考虑断网场景:页面刷新、错误提示、加载中状态——断网时用户看到什么
- 本地先跑通:核心功能(不依赖网络的部分)先在离线状态下跑通
- 联网后再测:需要网络的功能等联网了再验证
这样即使长时间没网,开发工作也不会完全停摆。