[node.js] node.js에서 환경 변수를 어떻게 설정할 수 있습니까?

node.js에서 환경 변수를 어떻게 설정할 수 있습니까?

내보내기 또는 cmd.exe 세트 실행과 같은 특정 플랫폼에 의존하지 않는 것을 선호합니다.



답변

다음에서 환경 변수를 설정할 수 있습니다 process.env.

process.env['VARIABLE'] = 'value';

-또는-

process.env.VARIABLE = 'value';

노드는 플랫폼 사양을 처리해야합니다.


답변

먼저이 패키지를 설치해야합니다 :-https:
//github.com/motdotla/dotenv [ npm install dotenv]

그런 다음 프로젝트의 루트 디렉터리에 .env 파일을 만들어야하며 여기에 아래와 같은 변수를 추가 할 수 있습니다.

NODE_ENV=PRODUCTION
DATABASE_HOST=localhost

이제 다음과 같이 코드에서 이러한 변수에 쉽게 액세스 할 수 있습니다.

require('dotenv').config()
console.log(process.env.NODE_ENV);

그것은 나를 위해 일했습니다.


답변

node v14.2.0
env 변수를 설정하려면 먼저 프로젝트 홈 디렉토리에 config.env 파일 이름을 만든 다음 필요한 모든 변수를 작성합니다.

config.env

NODE_ENV=development
PORT=3000
DATABASE=mongodb+srv://lord:<PASSWORD>@cluster0-eeev8.mongodb.net/tour-guide?retryWrites=true&w=majority
DATABASE_LOCAL=mongodb://localhost:27017/tours-test
DATABASE_PASSWORD=UDJUKXJSSJPWMxw

이제 npm에서 dotenv를 설치하면 dotenv가 작업을 오프로드합니다.

npm i dotenv

이제 서버 스타터 스크립트에서, 제 경우에는 server.js를 사용하여 env 변수를로드하십시오.

const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app'); // must be after loading env vars using dotenv

//starting server
const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`app running on port ${port}...`);
});

나는 당신의 참조를 위해 여기에 쓰는 app.js의 모든 익스프레스 코드를 사용하고 있습니다.

const express = require('express');
const tourRouter = require('./route/tourRouter');
const userRouter = require('./route/userRouter');

if (process.env.NODE_ENV === 'development') {
  console.log('mode development');
}
app.use(express.json());

app.use('/api/v1/tours', tourRouter);
app.use('/api/v1/users', userRouter);

module.exports = app;

이제 콘솔을 사용하여 서버를 시작하십시오. 저는 nodemon 을 사용하고 있습니다. npm에서 설치할 수 있습니다.

nodemon server.js


답변