전역 변수 설정하기

서비스의 전체 페이지에서 접근해야 하는 변수들이 있다. 예를 들면, 사용자가 로그인한 상태를 나타내는 bool type의 isLgoin 같은 변수가 그렇다. 이런 값들을 전역 변수로 설정하지 않는다면, 다음 요청을 진행할 때 마다 계속해서 값을 전달해야하고 (내 예전 프로젝트 처럼..) 이는 정말정말 비효율적이고 귀찮은 작업이다.

때문에, 효율성 있는 코드를 작성하기위해 전역 변수를 잘 사용해야한다.
Express의 전역변수 설정은 locals로 한다.

1
2
3
4
app.use((req, res, next) => {
app.locals.isLogin = true;
next();
});

이렇게 생긴 미들웨어를 로그인 확인 로직이 끝난 뒤 동작하도록 등록하면 어떻게 될까? 로그인 정보가 확인되었기 때문에 이 뒤에 나오는 페이지들은 해당 변수에 접근해 로그인 여부를 쉽게 확인할 수 있다.

전역변수는 템플릿에서도 접근이 가능하다.

1
{% if isLogin%} 로그인중 {% else%} 로그인 안됨 {%endif%}

이렇게 전역변수에 따라 다른 내용이 출력되도록 동적인 작업들을 할 수 있다.