두 가지 방법을 사용하여 구성 관리를하는 사람들을 만나게되었습니다.구성 관리를위한 NodeJS config.json 대 process.env
각 방법의 장단점은 무엇입니까?
내가 config 객체에 저장하는 변수가 많으면 node app를 실행하기 전에 upstart 스크립트에서 하나씩 설정해야합니까?
두 가지 방법을 사용하여 구성 관리를하는 사람들을 만나게되었습니다.구성 관리를위한 NodeJS config.json 대 process.env
각 방법의 장단점은 무엇입니까?
내가 config 객체에 저장하는 변수가 많으면 node app를 실행하기 전에 upstart 스크립트에서 하나씩 설정해야합니까?
일반적으로 응용 프로그램에 상태를 유지하기 위해 envvar를 사용합니다. devbase, staging, test 및 production 환경에서 동일한 코드베이스가 작동해야합니다. 디버그가 켜져 있거나 켜져 있지 않으면 로그가 활성화되어 있는지 여부와 상관없이 MySQL config, API 키와 같은 var를 넣습니다.
구성 파일은 환경에 종속되지 않는 변수에 사용됩니다. 예를 들어, 응용 프로그램의 이름, 페이지 당 항목 수 ...
큰 구성을 저장하기 위해 config.json
파일을 사용할 수 있습니다. ENV 나는 보통 응용 프로그램을 시작하기 위해 응용 프로그램 포트 나 뭔가를 전달하는 데 주로 사용했습니다. 예를 들어, 일부 외부 lib를 사용하는 경우 ENV의 lib 실행 프로그램에 대한 사용자 정의 경로를 전달하는 것이 좋습니다. 오후 8시 30 분 P.S. config.json
을 SVN에 저장하면 안됩니다.
그것은 확실히 컨텍스트 및 수행하려는 대상에 따라 다릅니다. 일반적으로 파일 (예 : config.json)에 configs를 설정하고 .gitignore에 파일을 저장하는 것은 개인 API 키와 같은 항목이 리포를 보는 사람에게 노출되지 않도록하는 방법입니다. process.env를 사용하면 코드에 바로있을 것입니다. 상황에 대해 더 구체적으로 설명해 주시겠습니까? –