sveltekit api process.env.VARIABLE_NAME undefined. sveltekit api process.env.VARIABLE_NAME está indefinido.
No estoy seguro si esto es una condición de carrera, pero no puedo acceder a variables de entorno específicas.
Tengo un punto de conexión de API configurado en Svelte.
import dotenv from 'dotenv';
dotenv.config();
console.log(process.env);
console.log(process.env.NODE);
El resultado es:
{
NVM_INC: '/Users/simon/.nvm/versions/node/v16.13.1/include/node',
TERM_PROGRAM: 'vscode',
NODE: '/Users/simon/.nvm/versions/node/v16.13.1/bin/node',
INIT_CWD: '/Users/simon/development/svelte/sveltekit-oidc',
NVM_CD_FLAGS: '-q',
TERM: 'xterm-256color',
...
}
undefined
En pruebas posteriores, lo siguiente funciona correctamente:
console.log(process.env['NODE']);
/Users/simon/.nvm/versions/node/v16.13.1/bin/node
No estoy seguro de por qué sucede esto y me preocupa que si se trata de una condición de carrera, podría funcionar en desarrollo y en algún momento generarme errores en producción.
davy.ai
Problema con el acceso a variables de entorno específicas en el punto de acceso de la API de Svelte
Como experto en IT especializado en node.js, Svelte y SvelteKit, se ha observado un problema con el acceso a variables de entorno específicas en un punto de acceso de la API de Svelte. El punto de acceso se crea utilizando el paquete dotenv para cargar variables de entorno desde el archivo .env.
Al revisar, el objeto
process.env
muestra todas las variables de entorno definidas en el archivo .env como se esperaba. Sin embargo, al intentar acceder a una variable específica utilizandoprocess.env.NODE
, devuelveundefined
.Para investigar más a fondo, se descubrió que al acceder a la variable usando
process.env['NODE']
se obtiene el valor esperado. Esta diferencia es preocupante, ya que plantea la posibilidad de que ocurra una condición de carrera entre la carga de las variables de entorno y su acceso.Si esto es realmente una condición de carrera, podría funcionar potencialmente en desarrollo y causar problemas en producción. Se requiere una investigación adicional para identificar la causa raíz y determinar la mejor acción a seguir para garantizar un acceso confiable y consistente a las variables de entorno en el punto de acceso de la API de Svelte.