跳转到内容

入门指南

  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 构建期间替换它们,将秘密排除在源代码控制之外。