SuperAPI AI 工具集

capacitor

通用与其它

查看项目

更新于 10-16 08:11

技能介绍

Capacitor 是跨平台原生运行时,用同一套现代 Web 代码构建可运行于 iOS、Android 和 Web 的 Web 原生应用,通过插件系统在 JavaScript 与原生设备功能间提供一致的 API 层。

核心工作流:先用 npm run build 等命令构建 Web 资源,再执行 npx cap sync 同步到原生工程(复制 Web 包、安装更新原生插件依赖,每次构建或改插件后都要执行);用 npx cap run ios 或 npx cap run android 在设备测试;改动原生代码时用 npx cap open ios 或 npx cap open android 打开 Xcode 或 Android Studio;发布用 npx cap build android 或 npx cap build ios。需让 @capacitor/core、@capacitor/ios、@capacitor/android 版本始终一致并一起更新。

配置:capacitor.config.ts(或 .json)只控制工具链,关键字段有 appId、appName、webDir、server.url(仅用于实时重载,提交前应移除);平台运行时配置在原生 IDE 中完成,如 Info.plist 和 AndroidManifest.xml,不要用 Capacitor 配置文件管理。

插件:官方 @capacitor/、社区 @capacitor-community/ 及 Cordova 兼容层;安装后执行 npx cap sync,并注意插件可能需额外的原生配置。测试中因插件是 JavaScript 代理,不可用代理包裹代理,应使用手动 mock(Jest 放于 mocks/@capacitor/,Jasmine/Angular 在 tsconfig.spec.json 配置 paths)。

存储:移动端不应以 localStorage 或 IndexedDB 作主存储,系统在存储不足时会回收,iOS 的 IndexedDB 默认不持久化;小量键值用 @capacitor/preferences,大数据或 SQL 用 SQLite 插件,敏感值用 iOS Keychain / Android Keystore 插件。

安全:不要在前端代码嵌入密钥,应移到服务端;只访问 https:// 端点;在 index.html 加 CSP meta;认证回调用 Universal Links 或 App Links 而非自定义 URL scheme,oAuth2 始终启用 PKCE。实时重载仅用于开发,不要将 server 配置提交到版本控制。

限制与更多细节:官方资料未提供价格与支持平台细节,部分内容需参考 references 中的插件存储、安全与深链文档。