# template 에서 설정 파일 만들기
WARNING
이 방법은 간단하기는 하지만, eval 명령을 사용하기 때문에, template 파일 내의 "
문자가 사라지고,
backtick (`
) 문자가 확장되는 문제가 있습니다. $[a-zA-Z]+
패턴에도 문제가 있겠네요.
지금 보고 있는 vuepress site 를 만들면서 Google Analytics 연동을 하는데,
설정에 GOOGLE_ANALYTICS_ID
를 넣어야 하는 일이 생겼습니다. 물론 간단한 일인데, public repo 에 민감한 정보를
넣는 일은 하지 않아야겠기에 해당 값은 환경변수에 넣고, config.js
파일은 template 을 만들기로 했습니다.
하지만, template 파일로 부터 설정 파일을 만들자니, template 엔진을 써야해서 간단한 방법을 찾았습니다.
위의 주의사항 참고하고, 용도에 맞게 주의해서 사용합시다.
// config.js.tpl
export default {
ga: '${GOOGLE_ANALYTICS_ID}'
}
$ GOOGLE_ANALYTICS_ID=SECRET
$ TEMPLATE=$(cat config.js.tpl)
$ eval "echo \"$TEMPLATE\"" > config.js