programing

OS X에서 NODE_ENV를 운영/개발로 설정하는 방법

randomtip 2022. 11. 1. 21:50
반응형

OS X에서 NODE_ENV를 운영/개발로 설정하는 방법

express.js 환경에서 사용합니다.좋은 의견이라도 있나?

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

export NODE_ENV=production

또는 윈도우에 있는 경우 다음과 같이 시도해 볼 수 있습니다.

SET NODE_ENV=production

PowerShell의 경우:

$env:NODE_ENV="production"

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

NODE_ENV=production node app.js

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

process.env.NODE_ENV = 'production';

그러나 서버에서 VIM을 열어 실제 가동 상태로 변경하는 것은 쉽지 않기 때문에 런타임 파일에서는 사용하지 않는 것이 좋습니다.디렉터리에 config.json 파일을 만들 수 있으며, 앱이 실행될 때마다 해당 파일을 읽고 구성을 설정할 수 있습니다.

포장되어 있습니다.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 명령을 다시 입력할 필요가 없으며 원하는 노드(forever, pm2)를 사용할 수 있습니다.

heroku의 경우:

heroku config:set NODE_ENV="production"

실제로는 디폴트입니다.

Windows, Mac, Linux 중 어느 쪽에서 스크립트를 실행하고 있는지 걱정할 필요가 없도록 크로스 엔비 패키지를 설치합니다.그러면 스크립트를 다음과 같이 쉽게 사용할 수 있습니다.

"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

OSX를 추가할 것을 합니다.export NODE_ENV=developmentyour ~/.bash_profile "/"/"~/.bashrc "/"/"~/.profile.

는 개인적으로 그 을 제 my인 my my my my my my my my my my my에 추가합니다.~/.bashrc에 '이렇게'를 ~/.bash_profile ~/.profile파일 내용을 가져오므로 환경 간에 일관성이 유지됩니다.

이러한 추가 작업을 수행한 후 터미널을 재시작하여 설정을 선택하십시오.

여러 환경을 구축하기 위해서는 이전의 모든 응답(NODE_ENV 파라미터 및 내보내기)이 필요하지만, 저는 아무것도 설치할 필요 없이 매우 간단한 방법을 사용합니다.당신의 소포 안에.json은 필요한 환경별로 다음과 같이 스크립트를 입력합니다.

...
"scripts": {
    "start-dev": "export NODE_ENV=dev && ts-node-dev --respawn --transpileOnly ./src/app.ts",
    "start-prod": "export NODE_ENV=prod && ts-node-dev --respawn --transpileOnly ./src/app.ts"
  }
 ...

리고,를 사용하는 대신 을을 instead instead instead instead를 사용하여 앱을 합니다.npm startnpm run script-prod

에서는 현재 할 수 .process.env.NODE_ENV.

보일라.

Windows CMD ->set NODE_ENV=production

Windows Powershell ->$env:NODE_ENV="production"

MAC ->export NODE_ENV=production

창문에 있다면.오른쪽 폴더에서 cmd를 연 다음 먼저 엽니다.

set node_env={your env name here}

Enter 키를 누르면 노드를 시작할 수 있습니다.

node app.js

env 설정으로 시작합니다.

어플리케이션에서 웹 을 사용하고 있는 경우는, 다음의 방법으로 간단하게 설정할 수 있습니다.DefinePlugin...

그래서 네 안에plugin섹션, NODE_ENV를 다음과 같이 설정합니다.production:

plugins: [
  new webpack.DefinePlugin({
    'process.env.NODE_ENV': '"production"',
  })
]
npm start --mode production
npm start --mode development

process.env를 사용합니다.NODE_ENV = '실가동'

Daniel은 올바른 도입(설정 후 잊기) 프로세스를 위한 더 나은 접근법인 훌륭한 답변을 가지고 있습니다.

익스프레스를 이용하시는 분들을 위해.grunt-express-server를 사용할 수도 있습니다.https://www.npmjs.org/package/grunt-express-server

다음과 같이 환경별로 실행할 수 있습니다.

NODE_ENV=production npm run start

Docker 솔루션은 어디에도 명확하게 언급되어 있지 않습니다.이 솔루션이 도움이 되었으면 합니다.

도커 파일:

FROM node:16.11-alpine3.14 AS production
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
...

언급URL : https://stackoverflow.com/questions/9198310/how-to-set-node-env-to-production-development-in-os-x

반응형