![translation](https://cdn.durumis.com/common/trans.png)
Esta es una publicación traducida por IA.
[Next.js] Inyección de entorno de tiempo de ejecución
- Idioma de escritura: Coreano
- •
-
País de referencia: Todos los países
- •
- Tecnología de la información
Seleccionar idioma
Texto resumido por la IA durumis
- En Next.js, .env se configura durante el tiempo de compilación, pero a veces es necesario configurar variables de entorno después de la compilación según el entorno de producción (local, dev, qa, prod).
- Los usuarios de Windows no pueden usar scripts basados en Unix, por lo que deben instalar cross-env para crear scripts que funcionen en ambientes Windows y Unix.
- Se aplicó cross-env a los comandos start y dev para configurar las variables de entorno y se limpiaron los scripts para mejorar la legibilidad.
En Next.js, .env se codifica de forma rígida durante el tiempo de compilación.
Sin embargo, a veces hay muchas necesidades para configurar el entorno cuando se ejecuta la imagen compilada, no durante el tiempo de compilación.
Por lo general, esto se debe a que se manejan local, dev, qa y prod.
Entonces, ¿cómo podemos hacer eso?
La mayoría de los contextos son similares al artículo a continuación.
Sin embargo, el artículo anterior rechaza Windows.
Se puede ver que se utiliza la gramática Unix en el script de package.json.
Esto significa que los usuarios de Windows que son puros, limpios y considerados, y que no utilizan el Unix sucio, no pueden utilizar este script.
Por lo tanto, los usuarios de Windows limpios y considerados deben considerar a los usuarios de Unix y agregar un script que funcione correctamente en ambos sistemas operativos.
La solución es simple.
Puede agregar un script que haga el mismo trabajo que esta gramática.
Instalamos cross-env con el comando anterior.
Y el comando de inicio mencionado anteriormente se resuelve modificándolo de la siguiente manera.
Sin embargo, el script es demasiado largo y difícil de leer, y también debe agregarse al comando dev.
{
"dev": "npm run _env:-local && next dev",
"dev:dev": "npm run _env:dev && next dev",
"start": "npm run _env:-local && next start",
"_env:-local": "cross-env-shell node ./utils/cli.js next-env -e $APP_ENV",
"_env:dev": "node ./utils/cli.js next-env -e dev"
Por lo tanto, lo arreglé de la siguiente manera.