跳过主要内容
@capacitor-plus/core 开发者工具 开源

Capacitor+核心 Capacitor插件

Capacitor+是一个自动化、始终同步的Capacitor分支,合并了社区PR和快速发布

安装

bun add @capacitor-plus/core bunx cap sync
npm, pnpm 或 yarn
  • npm install @capacitor-plus/core
  • pnpm add @capacitor-plus/core
  • yarn add @capacitor-plus/core

指南

How to use Capacitor+ Core in Capacitor

使用Capacitor+ (@capacitor-plus) 包

Capacitor+ 是一个自动同步的 Capacitor 的分支 Capacitor 维护者 Capgo. 它提供了一个可以直接替换官方 Capacitor 包的功能,具有一个关键优势: 社区 PRs 和修复可以更快地合并.

为什么需要 Capacitor+

Ionic 团队维护 Capacitor,根据他们自己的优先级和发布计划。这意味着社区贡献 - bug 修复、改进和功能 - 可能需要几个月甚至几年才能被合并。有些可能永远不会被合并。

Capacitor+ 解决了这个问题:

  1. 合并来自分支的 PR - 在上游队列中卡住的有价值的 PR 会被积极合并
  2. 持续同步 - 从上游 Capacitor 中的每次变更都将自动拉取、测试和验证
  3. 快速发布 - 当变更通过 CI 时,它们将自动发布到 npm 下的 @capacitor-plus 范围
  4. 社区优先 - 你的贡献很重要并且优先考虑
  5. 安全审查 - 每次变更都将通过 AI 分析安全漏洞、破坏性变更和稳定性风险

可用包

包 描述
@capacitor-plus/core 核心运行时库
@capacitor-plus/cli 命令行接口
@capacitor-plus/android Android 运行时
@capacitor-plus/ios iOS 运行时

安装

新建项目

对于新项目,仅需使用 Capacitor+ 包代替官方包:

npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android  # for Android
npm install @capacitor-plus/ios      # for iOS

然后初始化您的项目:

npx cap init
npx cap add android
npx cap add ios

从官方 Capacitor 迁移

将现有项目从官方 Capacitor 迁移到 Capacitor+:

# Remove official packages
npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios

# Install Capacitor+ packages
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android  # if using Android
npm install @capacitor-plus/ios      # if using iOS

由于 Capacitor+ 是 API 的完全兼容替代品,无需进行任何 code 变更。您的导入保持不变:

// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';

如何工作

┌─────────────────────┐     ┌──────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  ionic-team/        │     │  CI/CD           │     │  Claude Code     │     │  npm publish    │
│  capacitor          │────▶│  Pipeline        │────▶│  Security Review │────▶│  @capacitor-plus│
│  (upstream)         │     │  (daily sync)    │     │  (AI analysis)   │     │  packages       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. 每日同步: 一项GitHub动作从 ionic-team/capacitor
  2. PR创建: 提议的更改作为pull请求提交到 plus branch
  3. CI验证: 运行完整的测试套件(lint,单元测试,iOS构建,Android构建)
  4. 克劳德Code审查: AI驱动的全面安全分析检查
    • 安全漏洞(注入,XSS等)
    • 破坏API的更改
    • 崩溃风险和稳定性问题
    • 数据完整性和隐私问题
    • 恶意code模式
  5. 自动合并: 只有CI通过并Claude批准(无问题)
  6. 自动发布: 新版本发布到npm下 @capacitor-plus/*

安全审查

每次上游同步都会分析以下内容:

检查 描述
安全性 context: 企业产品/价格页面。角色:UI标签。见于:企业.astro页面。消息键`enterprise_hero_security_label`(企业英雄安全标签)
重大变更 已移除或重命名的API、签名改变、配置格式改变
稳定性 空指针异常、未处理的异常、竞争条件、内存泄露
数据安全 数据丢失场景、隐私泄露、不安全的存储
Code 整合性 被混淆的code,可疑的网络调用,后门

如果检测到任何问题,PR将被标记为手动审查,并不会自动合并。

你想让你的PR被合并吗?

你有一个在官方Capacitor仓库中卡住的PR?以下是如何将其推入Capacitor+的步骤:

  1. 打开一个问题 在 Capacitor+ 仓库 链接到您的上游 PR
  2. 或直接提交 PR 到 branch plus branch
  3. 这样一来,您和其他人可以立即从您的工作中受益,而不必等待上游发布周期

好处

立即获取 PR

  • : 等待上游的社区修复和功能将被合并保持最新
  • 立即获取 PRs: 立即获取 CI 通过的修复程序
  • 安全优先: 每个变更都经过安全漏洞和稳定性风险的审查
  • 已验证的发布: 只有通过 CI 测试和 AI 安全审查都通过的变更才会发布
  • 无缝替换: Same API as Capacitor, just a different package scope
  • 您的声音很重要: 提交您自己的 PR 或要求特定的上游 PR 进行合并

示例:使用 Capacitor+ 和插件

所有官方 Capacitor 插件都可以与 Capacitor+ 完美兼容:

import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';

// Everything works exactly the same
const platform = Capacitor.getPlatform();

const photo = await Camera.getPhoto({
  resultType: CameraResultType.Uri
});

const position = await Geolocation.getCurrentPosition();

Capgo 插件也可以与 Capacitor+ 完美兼容:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';

// Use Capgo plugins with Capacitor+
await CapacitorUpdater.notifyAppReady();
await ScreenOrientation.lock({ orientation: 'portrait' });

完成了!您现在已经拥有一个社区改进的、更快速更新的Capacitor版本。您的应用程序将从bug修复和功能中受益,而无需等待官方发布周期。

继续使用Capacitor+ (@capacitor-plus) Packages

如果您正在使用 使用Capacitor+ (@capacitor-plus) Packages 来规划原生插件工作,连接它与 Capacitor+ 查看Capacitor+的实现细节 Capgo 插件目录 查看Capgo Plugin Directory中的产品工作流程 Capacitor 由 Capgo 提供的插件 查看Capacitor Plugins by Capgo的实现细节 添加或更新插件 为添加或更新插件的实现细节, 和 Ionic 企业插件替代品 为 Ionic 企业插件替代品中的产品工作流.

常见问题

Capacitor+ Core 插件常见问题

如何在 Capacitor 应用中安装 Capacitor+ Core 插件?

运行 "bun add @capacitor-plus/core" (或 "npm install @capacitor-plus/core"), 然后运行 "bunx cap sync" 以便 iOS 和 Android 项目捕获到本地 code。从 "@capacitor-plus/core" 导入到您的应用 code 中。

@capacitor-plus/core 与 React、Vue 和 Angular 是否兼容?

是。 Capacitor+ Core 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 Web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

Which Capacitor version does @capacitor-plus/core support?

Capgo 插件遵循 Capacitor 的主要版本:使用与您的 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格列出了维护的版本。

@capacitor-plus/core 是否免费和开源?

是的,源码code在GitHub上公开,https://github.com/Cap-go/capacitor-plus/,并且可以从npm免费安装。bug报告和pull请求都欢迎。

是否可以在不经过App Store审查的情况下更新使用Capacitor+ Core的code?

安装或升级插件会改变原生的code,因此需要重新构建商店。之后,使用Capgo live更新的JavaScript、HTML和CSS更改可以立即发布。

不必等待应用程序审查即可将 Capacitor+ Core 更改推送到商店

一旦插件在您的商店构建中,Capgo 即时更新将将您的 JavaScript、HTML 和 CSS 更改推送给用户。

从 Capgo 开始