[node.js] Windows에서 NODE_ENV = production을 어떻게 설정합니까?

우분투에서는 매우 간단합니다. 다음을 사용하여 응용 프로그램을 실행할 수 있습니다.

$ NODE_ENV=production node myapp/app.js

그러나 이것은 Windows에서 작동하지 않습니다. 속성을 설정할 수있는 구성 파일이 있습니까?



답변

현재 버전의 Windows는 Powershell을 기본 쉘로 사용하므로 다음을 사용하십시오.

$env:NODE_ENV="production"

@jsalonen의 답변에 따라 아래. 더 이상 유지 관리되지 않는 CMD 인 경우

set NODE_ENV=production

Node.js 애플리케이션을 실행하려는 명령 프롬프트에서 실행해야합니다.

위의 행은 명령을 실행하는 명령 프롬프트에 환경 변수 NODE_ENV를 설정합니다.

환경 변수가 단일 명령 프롬프트를 넘어 지속되도록 전역 적으로 설정하려면 제어판의 시스템에서 또는 시작 메뉴의 검색 상자에 ‘환경’을 입력하여 도구를 찾을 수 있습니다.


답변

방금 독특한 구문, 크로스 플랫폼을 사용하여 환경 변수를 정의하는 데 도움이되는 멋진 Node.js 패키지를 찾았습니다.

https://www.npmjs.com/package/cross-env

다음과 같이 쓸 수 있습니다.

cross-env NODE_ENV=production my-command

꽤 편리합니다! 더 이상 Windows 또는 Unix 관련 명령이 없습니다!


답변

PowerShell에서 :

$env:NODE_ENV="production"


답변

Windows에서 Node.js를 시작하기위한 호출과 동일한 회선에 매개 변수를 설정할 수 있으면 이상적입니다. 다음을주의해서보고 명시된대로 정확하게 실행하십시오.

이 두 가지 옵션이 있습니다.

  1. 명령 행에서 :

    set NODE_ENV=production&&npm start

    또는

    set NODE_ENV=production&&node index.js
  2. Windows에서 작동하는 요령은 “&&”전후에 공백을 제거해야한다는 것입니다. 아래 start_windows (아래 참조)로 package.json 파일을 구성했습니다. 그런 다음 명령 행에서 “npm run start_windows”를 실행하십시오.

    //package.json
    
    "scripts": {
      "start": "node index.js"
      "start_windows": "set NODE_ENV=production&&node index.js"
    }
    

답변

당신이 사용할 수있는

npm run env NODE_ENV=production

Windows와 Unix에서 모두 호환되므로 가장 좋은 방법 일 것입니다.

로부터 NPM의 실행 스크립트 문서 :

env 스크립트는 런타임에 스크립트에 사용 가능한 환경 변수를 나열하는 데 사용할 수있는 특수 내장 명령입니다. “env”명령이 패키지에 정의되어 있으면 내장 명령보다 우선합니다.


답변

NTVS와 함께 Visual Studio를 사용하는 경우 프로젝트 속성 페이지에서 환경 변수를 설정할 수 있습니다.

Visual Studio NTVS 프로젝트 속성

보시다시피 구성 및 플랫폼 드롭 다운은 비활성화되어 있지만 (이 이유에 대해서는 너무 많이 살펴 보지 않았습니다) .njsproj파일을 다음과 같이 편집 하면 다음과 같습니다.

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <Environment>NODE_ENV=development</Environment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>true</DebugSymbols>
    <Environment>NODE_ENV=production</Environment>
  </PropertyGroup>

그런 다음 ‘Debug / Release’드롭 다운은 Node.js를 시작하기 전에 변수 설정 방법을 제어합니다.


답변

* nix에서와 같이 명령을 실행할 수있는 win-node-env 모듈을 작성했습니다 .

NODE_ENV=production node myapp/app.js

환경 변수 NODE_ENV.cmd를 설정 NODE_ENV하고 나머지 명령과 그 인수로 하위 프로세스를 생성하는를 작성하여 작동 합니다.

(전역 적으로) 설치하고 npm 스크립트 명령을 실행하면 자동으로 작동합니다.

npm install -g win-node-env