pakage의 version은 프로젝트를 배포할 수록 하나씩 늘어난다.
이를 pakage.json의 version에 표시해두는데
Google analiry 등을 사용할 때 오류와 사용자 활동을 트래킹 하고,
이를 버전별로 나누어서 보기 위해 version을 일일이 업데이트 하지 않고 자동으로 연동시키고 싶어졌다.
연동 하는 방법으로 env를 생각하였고,
pakage.json에 설정한 version을 env에 저장하고 사용하면 되겠다고 생각하였다.
나는 next.js 환경에 Typescript를 사용하고 있는 상태이다.
pakage.json
{
"name": "프로젝트 이름",
"version": "1.0.0",
...
}
next.config.js
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { version } = require('./package.json');
/** @type {import('next').NextConfig} */
const nextConfig = {
env: {
WEB_VERSION: version,
},
pakage.json에서 version을 가져올때는 import/export가 아닌 require을 사용해주어야 한다.
그리고, next config설정 파일에 env : WEB_VERSION: version
을 추가해줌으로써
version을 env로 관리할 수 있다.
사용은 다음과 같이 하면 된다.
const webVersion = process.env.WEB_VERSION