跳转到内容

入门

  1. 安装软件包

    Terminal window
    npm i @capgo/capacitor-env
  2. 同步本机平台

    Terminal window
    npx cap sync

将密钥添加到 Capacitor 配置中,以便将它们烘焙到您的本机构建中。您可以创建多个配置变体(capacitor.config.prod.tscapacitor.config.dev.ts 等)来交换每个环境的值。

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example',
webDir: 'dist',
plugins: {
Env: {
API_URL: 'https://api.example.com',
PUBLIC_KEY: 'pk_live_123',
},
},
};
export default config;

在本机平台上,这些值存储在生成的配置文件(ios/App/App/capacitor.config.jsonandroid/app/src/main/assets/capacitor.config.json)内。如果您需要特定于租户的值,请更新每个风格的这些文件。

import { Env } from '@capgo/capacitor-env';
const apiUrl = await Env.getKey({ key: 'API_URL' }).then((result) => result.value);
if (!apiUrl) {
throw new Error('Missing API_URL configuration');
}
const loadConfig = async () => {
const { value: endpoint } = await Env.getKey({ key: 'API_URL' });
return endpoint || 'https://staging.example.com';
};
  • 每个环境使用不同的 capacitor.config 文件,并使用 npx cap run ios --configuration=prod 将 CLI 指向正确的文件。
  • 与 Capgo 更新程序通道结合使用,可以传送特定于租户的值,而无需发布新的二进制文件。
  • 通过在 npx cap sync 之前的 CI 构建期间替换秘密,使秘密远离源代码控制。