No estoy usando React o Node. Quiero usar una clave de API para un proyecto pequeño que no quiero enviar a Github. Netlify ha incorporado variables de entorno .
Los configura en un par de claves de nombre en Netlify algo así como
SECRET_NAME = clave secreta
Cuando se construya el sitio, Node reemplazará cualquier lugar que use process.env.SECRET_NAME con secretkey.
Pero no estoy usando Node o un proceso de compilación, por lo que, por supuesto, cuando llamo a process.env.ENV_VAR_NAME en mi código, falla con el error Uncaught ReferenceError: process is not defined
¿Cuál es la forma más fácil de utilizar las variables de entorno de Netlify con solo Javascript estándar?
Vi esta pregunta que sugiere usar una función Netlify Lambda , pero aún usa Node que no estoy usando.
Después de leer más, sé 2 cosas.
Como hacer esto. Este video fue útil .
No debe hacer esto para tratar de ocultar secretos o claves de API.
Si bien es cierto que las claves no estarán en su código fuente, el problema es que una vez que Netlify reemplaza los secretos o claves de API, el cliente puede verlos. No es bueno.
Es un error común pensar que puedes almacenar secretos en las aplicaciones de React... a pesar de mis intentos de aclarar esto en los documentos .
Para evitar exponer su clave API, deberá almacenar y leer la clave en un servidor. Esto significa que deberá crear una aplicación utilizando un marco del lado del servidor como Node.js.
Las funciones de Netlify son una forma conveniente de crear un punto final dentro del mismo repositorio/implementación.
Cree una API separada que obtenga datos de la API de terceros y devuelva los datos.
Puede dificultar (hay formas de evitar esto) que otros sitios usen su API implementando CORS para permitir solo la obtención de su dominio de interfaz.