2016-10-09 2 views
0

이것은 기본적인 질문처럼 들리지만 Google에서 이에 대한 많은 정보를 찾을 수 없습니다.SET NODE_ENV = dev의 기능은 무엇입니까?

테스트 노드에서 자습서 https://scotch.io/tutorials/test-a-node-restful-api-with-mocha-and-chai을 따르고 있습니다. package.json에 코드가 있습니다.

"scripts":{ 
    "start": "SET NODE_ENV=dev && node server.js", 
} 

그러나 실행하면 오류가 발생합니다.

WARNING: NODE_ENV value of 'dev ' did not match any deployment config file names. 

제 질문은 SET NODE_ENV가 실제로하는 일입니다. 프로덕션 환경에 적용 할 때이를 어떻게 수정합니까?

10/10/16에 편집 됨 NO300_ENV가 config 폴더의 파일을 찾을 것이라고 문서 https://github.com/lorenwest/node-config/에서 알았습니다. SET NODE_ENV = 'dev'는 /config/dev.json을 찾습니다. 이상하게도 dev.json이 존재하더라도 오류가 발생합니다. 응용 프로그램이 정상적으로 실행되므로 오류의 의미가 궁금합니다.

답변

0

환경 변수를 설정하는 일종의 무모한 방법입니다. 코드 (또는 필요한 모듈의 코드)를 사용하면 코드를 읽고 설정 방법에 따라 결정할 수 있습니다.

convict 또는 개발 모드 나 프로덕션 모드 또는 테스트 모드에서 앱을 실행하고있는 경우 NODE_ENV가 알리는 것으로 가정하는 다른 구성 모듈을 사용 중이라고 추측하고 있습니다. 이름이 일치하는 구성 파일 dev.json 또는 dev.js 특정 환경이 해당 환경에 대해 설정됩니다.

npm 시작 스크립트에서 NODE_ENV=dev node server.js을 수행하면 SET 명령을 사용하지 않고도 동일한 작업을 수행 할 수 있습니다.

0

SET NODE_ENV = dev 정확히 무엇을 말하는가요? "dev"값에 NODE_ENV라는 환경 변수를 설정하십시오. 하지만 당신이 요구하는 것은, 어쩌면 이것이 내 앱에 어떻게 영향을 미칠까요?

그럼 앱 사용 방식에 따라 다릅니다. 어딘가에이 값 (문제 같은 process.env.NODE_ENV, 또는 유사한) 다음과에 대한 검사가 귀하의 경우

이 몇 가지를 위해 사용되는 이해할 수있을 것입니다 소스 코드를 INS 찾을 수 있습니다. 올바른 설정 파일로드, 로깅을위한 특정 속성 설정, mongo db URI 가져 오기 등

관련 문제