跳过主要内容
返回插件
@capacitor-plus/core
教程
@capacitor-plus/core

Capacitor+ Core

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

指南

关于 Capacitor+ Core 的教程

使用 Capacitor+ (@capacitor-plus) 包

Capacitor+ 是一个自动化、始终同步的 CapacitorCapgo。它提供了一个可以直接替换官方Capacitor包的方案,具有一个关键优势: 社区PR和修复被合并得更快.

为什么需要Capacitor+

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

Capacitor+ 解决了这个问题:

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

可用包

描述
@capacitor-plus/core 核心运行时库
@capacitor-plus/cli 命令行界面
@capacitor-plus/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 迁移到 __CAPGO_KEEP_1__+:

由于 Capacitor+ 是一个与官方 Capacitor 完全兼容的替代品,因此无需进行任何 __CAPGO_KEEP_2__ 变更。你的导入语句保持不变:

# 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

Since Capacitor+ is a drop-in replacement with the same API, no code changes are required. Your imports remain the same:

// 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. : 一个 __CAPGO_KEEP_0__ Action 从: A GitHub Action fetches the latest changes from ionic-team/capacitor
  2. fetches the latest changes from: 提出更改作为pull请求到 plus branch
  3. CI 验证: 全面测试套件运行(lint,单元测试,iOS构建,Android构建)
  4. Claude Code 审核: AI 驱动的全面安全分析检查
    • 安全漏洞(注入,XSS等)
    • 破坏性 API 变更
    • 崩溃风险和稳定性问题
    • 数据完整性和隐私问题
    • 恶意 code 模式
  5. 自动合并: 只有当 CI 通过并 Claude 批准 (无问题检测)
  6. 自动发布: 新版本发布到 npm 下 @capacitor-plus/*

安全审查

每次上游同步都会分析:

检查 描述
安全 命令注入、XSS、路径遍历、硬编码密钥等
破坏性更改 删除/重命名的 API、签名改变、配置格式改变
稳定性 空指针异常、未处理的异常、竞争条件、内存泄露
数据安全 数据丢失场景、隐私泄露、不安全的存储
Code完整性 混淆的code、可疑的网络调用、后门

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

你想让你的PR被合并吗?

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

  1. 打开一个问题Capacitor+仓库 链接到你的上游PR
  2. 直接提交 PR __CAPGO_KEEP_0__ plus __CAPGO_KEEP_0__
  3. 团队会对其进行审查、运行 CI,并在通过 CI 后合并

这样一来,你和其他人就可以立即从你的工作中受益,而不必等待上游发布周期

好处

  • 立即合并 PR: 等待上游合并的社区修复和功能
  • : 立即获得上游修复: 每次更改都会审查安全漏洞和稳定性风险
  • 立即合并 PR: 立即获得上游修复
  • 验证发布: 只有通过CI测试和AI安全审查的修改才会发布
  • 替换插件: 与 Capacitor 相同的 API ,只是包作用域不同
  • 您的声音很重要: 提交您的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 修复和特性中受益,而不必等待官方发布周期

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

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