실전코드/JavaScript, VueJS
[Nuxt3] 운영 환경에서 콘솔 로그 노출 제한
행수쌤
2025. 1. 10. 09:55
728x90
반응형
local 환경에서 디버그를 위해 log를 찍어놨는데
서비스 운영에 앞서 이 모든 log함수들을 찾아서 지울 수도 없는 노릇이다.
따라서 운영환경 등 선별된 환경에서는 log함수를 동작하지 않도록 조치할 수 있다.
이 때 라이브러리 등을 사용할 필요 없이 서버가 빌드되는 과정에 conole.log 함수를 빈 함수로 오버라이드 하면 된다.
우선 Nuxt3에서 서버 구동 시 전역설정을 할 수 있는 plugins 폴더에 ts파일을 만들어 적용한다.
export default defineNuxtPlugin(() => {
const runtimeConfig = useRuntimeConfig()
if (runtimeConfig.public.env === 'dev') {
const console = globalThis.console || {}
console.log = function no_console() {}
console.warn = function no_console() {}
console.error = function no_console() {}
}
})
참고
이 때 runtimeConfig는 .env 파일 내 존재하는 데이터를
nuxt.config.ts에서 runtimeConfig.public에 적용해서 사용해주면 된다
ex)
.env.dev
VUE_APP_ENV=dev
nuxt.config.ts
export default defineNuxtConfig({
...
runtimeConfig: {
public: {
env: process.env.VUE_APP_ENV,
},
},
...
})
728x90
반응형