javascript - development - react build environment variables
Webpack React+: ''process.env'' no está definido (3)
Estoy intentando ejecutar el servidor de desarrollo en caliente en nuestro sitio con un paquete web; el sitio usa ReactJS, que tiene este código:
if (/"production/" !== process.env.NODE_ENV) // etc
Cuando no se ejecuta hot-swap está bien, pero con el intercambio en caliente, se ejecuta, lo que da como resultado el error:
TypeError: process.env is undefined
El código se ve así:
El proyecto se modela después de https://github.com/webpack/react-starter que funciona; entonces la pregunta es; ¿Qué error he hecho en el archivo de configuración y / o cómo hago para buscar el error cuando la compilación de ''producción'' funciona bien?
He publicado la esencia del archivo de configuración de la carpeta web .
En la configuración de su paquete web, hay dos opciones que pueden afectar a process.env
:
- Cuando especifica
config.target
(verconfig.target
) - Cuando defines la variable
process.env
través deDefinePlugin
Al mirar su código, parece que process.env
podría no estar definido cuando ambas options.prerender
y options.minimize
son false
.
Puede solucionar esto siempre utilizando un entorno que define process.env
(por ejemplo: node
), o usando DefinePlugin
para asignar un valor predeterminado a la variable usted mismo.
Esta es la forma más simple:
new webpack.EnvironmentPlugin( { ...process.env } )
Añádalo a su lista de complementos de webpack.
Esta respuesta tiene más sentido para mí. Publicar para otros con la misma necesidad de un ejemplo completo.