Comenzando
-
Instalar el paquete
Ventana de terminal npm i @Capgo/Capacitor-envVentana de terminal pnpm add @Capgo/Capacitor-envVentana de terminal yarn add @Capgo/Capacitor-envVentana de terminal bun add @Capgo/Capacitor-env -
Sincronizar plataformas nativas
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync
Declarar valores de configuración
Section titled “Declarar valores de configuración”Agrega claves a la configuración de Capacitor para que se incorporen en tus compilaciones nativas. Puedes crear múltiples variantes de configuración (capacitor.config.prod.ts, capacitor.config.dev.ts, etc.) para intercambiar valores por entorno.
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;En plataformas nativas, los valores se almacenan dentro de los archivos de configuración generados (ios/App/App/capacitor.config.json y android/app/src/main/assets/capacitor.config.json). Actualiza esos archivos por variante si necesitas valores específicos por inquilino.
Leer valores en el código
Section titled “Leer valores en el código”import { Env } from '@capgo/capacitor-env';
const apiUrl = await Env.getKey({ key: 'API_URL' }).then((result) => result.value);
if (!apiUrl) { throw new Error('Falta configuración de API_URL');}Proporcionar valores predeterminados
Section titled “Proporcionar valores predeterminados”const loadConfig = async () => { const { value: endpoint } = await Env.getKey({ key: 'API_URL' }); return endpoint || 'https://staging.example.com';};Consejos
Section titled “Consejos”- Usa diferentes archivos
capacitor.configpor entorno y apunta el CLI al correcto connpx cap run ios --configuration=prod. - Combina con canales del actualizador Capgo para enviar valores específicos por inquilino sin publicar nuevos binarios.
- Mantén los secretos fuera del control de código fuente sustituyéndolos durante tu compilación CI antes de
npx cap sync.