Estoy tratando de publicar Gatsbyjs mediante la aplicación web Azure Static. Tengo un complemento (gatsby-source-contentful).
Necesito pasar variables como:
{ resolve: `gatsby-source-contentful`, options: { spaceId: process.env.CONTENTFUL_SPACE_ID, accessToken: process.env.CONTENTFUL_ACCESS_TOKEN, }, },Error:
Running 'npm run build'... > gatsby-starter-default@0.1.0 build /github/workspace > gatsby build success open and validate gatsby-configs - 0.021s error Invalid plugin options for "gatsby-source-contentful": - "accessToken" is required - "spaceId" is required not finished load plugins - 0.905s¿Dónde puedo pasar esto?
Gracias.
Para Azure Static Web Apps, hay dos formas de establecer variables de entorno, una para front-end y otra para escenarios de back-end.
Dado que está utilizando Gatsby, supongo que es seguro asumir que está construyendo su interfaz. Para eso, deberá agregar las variables de entorno en su configuración de compilación (azure-static-web-apps-.yml).
Al igual que:
env: # Add environment variables here CONTENTFUL_SPACE_ID: <your-id>Aquí está el enlace para eso en la documentación .
No debe confundirse con este que se utiliza para definir variables de entorno de back-end.
Se llaman variables de entorno . Están destinados a almacenar datos confidenciales, como tokens, identificadores, etc., y no deben insertarse en su repositorio, por lo que debe ignorarlos (en su archivo .gitignore ).
Por defecto, Gatsby crea 2 entornos sin darse cuenta, uno para cada método de compilación:
gatsby develop : utiliza .env.developmentgatsby build : utiliza .env.production Nota: puede cambiar este comportamiento si es necesario para agregar sus propios entornos mediante los comandos personalizados de NODE_ENV .
Entonces, para pasar sus datos a su gatsby-config.js , solo necesita crear dos archivos ( .env.development y .env.production ) en la raíz de su proyecto. Luego, agrega el siguiente fragmento en la parte superior de tu gatsby-config.js :
require("dotenv").config({ path: `.env.${process.env.NODE_ENV}`, }) Nota: dotenv ya es una dependencia de Gatsby, por lo que no necesita instalarlo nuevamente
Esto le dirá a Gatsby dónde llevar las variables de entorno.
Solo queda llenar ambos archivos de entorno. Busque las credenciales en Contentful y agréguelas a los archivos usando la misma denominación que configuró en su gatsby-config.js :
CONTENTFUL_SPACE_ID=123456789 CONTENTFUL_ACCESS_TOKEN=123456789Tenga también en cuenta que cuando trabaje con herramientas de CI/CD de Azure, Netlify, AWS o similares, deberá proporcionar al servidor los mismos archivos de entorno para evitar que se rompa el código al enviar los cambios.