[javascript] OS X에서 NODE_ENV를 생산 / 개발로 설정하는 방법

express.js 환경에서 사용하십시오. 어떤 제안?



답변

앱을 실행하기 전에 콘솔에서이 작업을 수행 할 수 있습니다.

export NODE_ENV=production

또는 창문에 있다면 이것을 시도 할 수 있습니다.

SET NODE_ENV=production

또는 다음과 같이 앱을 실행할 수 있습니다.

NODE_ENV=production node app.js

js 파일에서 설정할 수도 있습니다.

process.env.NODE_ENV = 'production';

그러나 서버에서 VIM을 열고 프로덕션으로 변경하는 것은 쉽지 않기 때문에 런타임 파일에서 수행하지 않는 것이 좋습니다. 디렉토리에 config.json 파일을 만들 수 있으며 앱이 실행될 때마다 파일을 읽고 구성을 설정합니다.


답변

package.json에서 :

{
  ...
  "scripts": {
    "start": "NODE_ENV=production node ./app"
  }
  ...
}

그런 다음 터미널에서 실행하십시오.

npm start


답변

.env아직 여기에 언급 된 사람이 없습니까? 메이크업 .env후, 앱 루트에 파일을 require('dotenv').config()하고 값을 읽습니다. 쉽게 변경하고 쉽게 읽을 수있는 크로스 플랫폼.

https://www.npmjs.com/package/dotenv


답변

export NODE_ENV=production 나쁜 해결책이며 다시 시작한 후에 사라집니다.

해당 변수에 대해 더 이상 걱정하지 않으려면이 파일에 추가하십시오.

/etc/environment

내보내기 구문을 사용하지 말고 작성하십시오 (일부 내용이 이미있는 경우 새 줄로 작성).

NODE_ENV=production

다시 시작한 후에 작동합니다. 언제 어디서나 export NODE_ENV = production 명령 을 다시 입력하지 않아도되고 원하는 노드 만 사용하면됩니다. pm2 …

헤 로쿠의 경우 :

heroku config:set NODE_ENV="production"

실제로 기본값입니다.


답변

Windows, Mac 또는 Linux에서 스크립트를 실행 중인지 걱정하지 않으려면 cross-env 패키지를 설치하십시오 . 그러면 다음과 같이 스크립트를 쉽게 사용할 수 있습니다.

"scripts": {
    "start-dev": "cross-env NODE_ENV=development nodemon --exec babel-node -- src/index.js",
    "start-prod": "cross-env NODE_ENV=production nodemon --exec babel-node -- src/index.js"
}

이 패키지의 개발자에게 대규모 소품.

npm install --save-dev cross-env


답변

heroku config:set NODE_ENV="production"


답변

Windows Powershell의 경우이 명령을 사용하십시오.

$env:NODE_ENV="production" ; node app.js