익명의 개발노트

[Wecode 81일차] CRA-NODE_ENV = production , console.log 무효화 본문

코딩일기/TIL

[Wecode 81일차] CRA-NODE_ENV = production , console.log 무효화

캡틴.JS 2019. 8. 22. 18:28
반응형

1. CRA에서 production 레벨 설정하기.

     package.json의 script부분을 보면, build 인 경우에만 production 레벨을 설정할 수 있다.

     그러면 build 이후에 실행을 어떻게 시킬까??

      AWS에 배포할때, AWS상에서 깃헙에서 pull받아온 후 실행환경을 설정해준다. 프론트엔드의 경우 서버를 만들어주어야 띄울 수

     있기에,  프로젝트에 server.js 를 만들고, build 이후에 아래와 같이 명령어를 입력한다.

node server.js

server.js 에서 포트를 개발서버와 다르게 변경해주고, localhost:5000 route 주소를 치면 프로덕션 레벨로 실행됨을 볼 수 있다.

 

*추가적으로 상업용서버에서 실제로 url 값이 다르게 지정되있을 수도 있다. 

.ENV 안에 URL 서버 되어있는거 확인 한 후 화면이 안뜰 경우 잠깐지워주고 실행을 시킨다.

 

2. 기존에 console.log는 개발모드에서 찍고 싶은 위치에 잔뜩 찍었었는데, 상업모드에서는 로그를 사용자가 볼 수 없도록 해주어야한다.  통상 .env파일을 개발 또는 상업용으로 만들어도 되서 레벨별로 설정파일 다르게 보이게끔 처리하면 된다.

아니면 util이나 config.js 파일을 하나 만들어서, index.js에 import만 해주면 된다.

 

ex) 상업용 레벨에서는 console.log찍은 내용을 보여주고 싶지 않다?

//util or config.js

if(process.env.NODE_ENV === 'production'){
	console.log = () => {}
}
//index.js
import config from '../src/components/config';

 

반응형
Comments