Vue 환경변수 사용 방법 / 서버벌 env 분리 설정
Vue 환경변수 설정
서버별 env 파일 분리
.env |
모든 모드에서 공통으로 사용되는 env 파일입니다. 특정 모드 env 파일이 적용되면, 기본 env 파일 값을 덮어쓰며 병합됩니다. |
.env.local |
로컬에서 사용되는 env 파일입니다. *.local 파일은 git에서 제외됩니다. |
.env.[mode] |
실행 모드에 따라 적용되는 env 파일입니다. mode 예시 : development, staging, production |
프로젝트 루트 경로에 실행 모드별 .env 파일들을 생성하고 환경변수를 작성하면 됩니다.
env 파일 환경변수 작성 예시
VITE_APP_API_URL=http://localhost:5000
VITE_SOCKET_URL=http://127.0.0.1:8082
VITE에서 환경변수를 읽기 위해서는, 환경변수 앞에 프리픽스로 ‘VITE_‘가 붙어야 합니다.
env prefix 변경 방법
export default defineConfig({
plugins: [vue()],
envPrefix: '변경값',
resolve: {
alias: {
'@': fileURLToPath(new URL("./src", import.meta.url)),
}
}
});
프로젝트 루트 경로 vite.config.js 파일에서 환경변수 프리픽스 값을 변경할 수 있습니다.
접두사를 없애면 모든 환경변수를 노출시켜서 보안상 위험할 수 있습니다.
Vue 환경변수 사용법
env 환경변수 import
const 변수명 = import.meta.env.환경변수명;
Vue 애플리케이션 빌드 도구가 Vite인 경우 사용할 수 있는 방법입니다.
Vite 기본 환경 변수 사용
console.log(import.meta.env.MODE); // 현재 모드 출력 (기본값 : 개발 development, 운영 production)
console.log(import.meta.env.BASE_URL); // 프로젝트 베이스 URL
console.log(import.meta.env.PROD); // 현재 운영 모드인 경우 true
console.log(import.meta.env.DEV); // 현재 개발 모드인 경우 true
env 파일에 설정하지 않아도 사용할 수 있는 기본 환경 변수들입니다.
Vite 설정파일에서 env 모드 접근 방법
export default defineConfig(({ mode }) => {
const isDevelopment = mode === "development";
console.log('현재 개발 모드 : ', isDevelopment);
return {
plugins: { vue() },
resolve: {
alias: {
'@': fileURLToPath(new URL("./src", import.meta.url)),
}
}
}
});
프로젝트 루트 경로 vite.config.js 파일에서 현재 실행 모드를 확인하고 분기처리 할 수 있습니다.