En mi archivo javascript del lado del cliente, si ejecuto lo siguiente, no recibo ningún error:
console.log(process.env.NODE_ENV); // outputs development or productionPero si ejecuto lo siguiente, aparece un error:
console.log(process.env) // Uncaught ReferenceError: process is not defined¿Por qué está pasando esto? Usando Webpack 5 para agrupar.
Porque está utilizando un paquete que reemplaza process.env.NODE_ENV con otro valor. Para Webpack, es DefinePlugin el que hace el trabajo sucio (y configurar la opción Webpack --mode agrega automáticamente el complemento ); por ejemplo, esbuild es define .
Su paquete de JavaScript resultante no tendrá process.env.NODE_ENV en absoluto, solo una cadena estática "production" o "development ". Sin embargo, solo process.env no se reemplazará (a menos que esté configurado así), por lo que obtendrá un error de referencia.