development

Express에서 NODE_ENV 란 무엇입니까?

big-blog 2020. 5. 29. 22:05
반응형

Express에서 NODE_ENV 란 무엇입니까?


var app = express();
app.set('views',settings.c.WEB_PATH + '/public/templates');
app.set('view engine','ejs');
app.configure(function(){
    app.use(express.favicon());
    app.use(express.static(settings.c.WEB_PATH + '/public'));
    app.use(express.bodyParser());
    app.use(express.cookieParser());
    app.use(express.methodOverride());
    app.use(express.session({
            cookie:{ domain:"."+settings.c.SITE_DOMAIN, maxAge:1440009999},
            secret:'hamster',
            store: r_store,
            }));
    app.use(useragent.express());
    app.use(flash());
    app.use(passport.initialize());
    app.use(passport.session());
});

이것은 내 응용 프로그램입니다. 현재 프로덕션 환경에서 실행 중입니다.

그러나 누군가 나에 대해 이야기했습니다 NODE_ENV. 이 코드에 추가해야합니까? 어떻게 추가합니까?


NODE_ENV입니다 환경 변수 에 의해 대중에게 명시 웹 서버 프레임 워크. 노드 애플리케이션이 실행될 때 환경 변수의 값을 확인하고 값에 따라 다른 작업을 수행 할 수 있습니다. NODE_ENV구체적으로는, 특정 환경에 있는지 상태 (일반적으로)를 사용하고 생산 또는 개발 환경. 일반적인 사용 사례는 개발 환경에서 실행중인 경우 추가 디버깅 또는 로깅 코드를 실행하는 것입니다.

NODE_ENV에 액세스

다음 코드를 사용하여 환경 변수에 직접 액세스하여 자체 검사 및 논리를 수행 할 수 있습니다.

var environment = process.env.NODE_ENV

또는 대안으로 express '를 사용 하십시오app.get('env') ( 참고 : 이 기본값은 "development")

NODE_ENV환경에 대해 명시 적으로 설정하지 않은 경우이 설정 이됩니다 undefined.

NODE_ENV 설정

실제로 환경 변수를 설정하는 방법은 운영 체제마다 다르며 사용자 설정에 따라 다릅니다.

환경 변수를 일회용으로 설정하려면 명령 행에서 수행 할 수 있습니다.

  • 리눅스 & 맥 :export NODE_ENV=production
  • :$env:NODE_ENV = 'production'

장기적으로는 재부팅 할 때 설정이 해제되지 않도록이를 유지해야합니다.이를 수행 할 수있는 모든 가능한 방법을 나열하는 대신 직접 수행하는 방법을 검색하도록하겠습니다!

컨벤션에 따르면 NODE_ENV, production또는 development모두 소문자로 사용해야하는 값은 두 개뿐입니다 . 더 많은 값을 추가하는 것을 막을 수는 없지만, 내가 사용하는 많은 node_modules에서 이러한 종류의 코드를 많이 볼 때 좋은 생각은 아닙니다.

var development = process.env.NODE_ENV !== 'production';

그것이 있다고 주 정말 나쁜 세트에 시도하는 생각 NODE_ENV에서 노드 응용 프로그램 자체 당신이 할 할 경우 - 에만이 설정되는 과정에 적용되는 상황이 아마 작업 당신이 그들에 기대하는 것 같은. 하지 마십시오. 후회하게됩니다.


NODE_ENVExpress 서버의 노드 환경 을 나타내는 환경 변수입니다 .

우리가 어떤 환경에 있는지 설정하고 감지하는 방법입니다.

productionand를 사용하는 것이 일반적 development입니다.

세트:

export NODE_ENV=production

가져 오기:

당신은 그것을 사용하여 얻을 수 있습니다 app.get('env')


원래 질문에 Express가이 환경 변수를 사용하는 방법이 포함되어 있다고 가정합니다.

Express는 NODE_ENV를 사용하여 자체 기본 동작을 변경합니다. 예를 들어, 개발 모드에서 기본 오류 처리기는 스택 추적을 브라우저로 다시 보냅니다. 프로덕션 모드에서는 Internal Server Error구현 세부 정보가 세상에 유출되는 것을 피하기 위해 간단히 응답 합니다.

참고 URL : https://stackoverflow.com/questions/16978256/what-is-node-env-in-express

반응형