英文:
set process.env.NODE_ENV in NodeJS
问题
我需要在本地的NestJS代码中将process.env.NODE_ENV设置为'production'。我尝试过的步骤如下:
- 在package.json中的serve脚本中,我添加了NODE_ENV=production。
- 在package.json中的build脚本中,我添加了nx build --prod。
尽管进行了这些设置,但process.env.NODE_ENV仍然显示为'development'。
我正在使用Nx monorepo,寻找在本地设置NODE_ENV为'production'的解决方案。
英文:
I need to set process.env.NODE_ENV to 'production' in local NestJS code. steps i tried-
- In package.json for the serve script I added NODE_ENV=production
- in package.json for the build script added nx build --prod.
Even after these settings I get 'development' in process.env.NODE_ENV
looking for a solution to set NODE_ENV to 'production' in local.
I am using Nx monorepo.
答案1
得分: 1
NestJS建议"创建一个ConfigModule
,公开一个ConfigService
,该服务加载适当的.env文件"。
您可以使用@nestjs/config npm包来完成此操作,该包在底层使用dotenv。
它将默认从应用程序的根目录中的.env
文件中加载环境变量。
所有内容都在它们的文档中有详细说明:https://docs.nestjs.com/techniques/configuration
英文:
NestJS recommends to "create a ConfigModule
that exposes a ConfigService
which loads the appropriate .env file".
You can do it via the @nestjs/config npm package which uses dotenv under the hood.
It will loads environment variables from a .env
file in the root directory of the application by default.
Everything is explained in their documentation: https://docs.nestjs.com/techniques/configuration
答案2
得分: 0
你不应该在package.json中设置ENV变量。根据环境,请使用".env"来存储所有的环境变量。不要忘记将其添加到你的gitignore中。
你可以使用一个非常著名的包来实现这个:
npm install dotenv --save
在你项目的根目录中创建一个.env文件:
NODE_ENV=PRODUCTION
在ES6中:
import 'dotenv/config'
英文:
You should not set ENV variables in package.json. Use a ".env" to store all your environment variables according to the environment. Don't forget to add the same to your gitignore.
You can use a very famous package for this:
npm install dotenv --save
Create a .env file in the root of your project
NODE_ENV=PRODUCTION
require('dotenv').config()
console.log(process.env)
In ES6
import 'dotenv/config'
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论