1. 문제상황
import { defineConfig, loadEnv } from 'vite';
import react from '@vitejs/plugin-react-swc';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '');
return {
plugins: [react()],
//빌드 관련 설정
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true,
},
},
},
....
};
});
console.log()
와 drop_debugger
문을 배포시에는 일일히 찾아서 지우는 것이 비효율적이라고도 생각하고, 깃 로그에도 "console 제거"와 같이 남는 것이 기록적으로도 안좋다고 판단했다.
일일히 console.log()
를 찾아서 지우지 않아도 vite.config.js
를 활용하여 일괄적으로 build
할 때 지울 수 있는 방법인 Terser를 활용하였다.
하지만 build
과정에서 아래와 같은 오류가 발생했다.
✗ Build failed in 3.13s
error during build:
[vite:terser] terser not found. Since Vite v3, terser has become an optional dependency. You need to install it.
at loadTerserPath (file:///home/runner/work/IncluKiosk-FE/IncluKiosk-FE/node_modules/vite/dist/node/chunks/dep-Bn81Esdm.js:9752:13)
at Object.renderChunk (file:///home/runner/work/IncluKiosk-FE/IncluKiosk-FE/node_modules/vite/dist/node/chunks/dep-Bn81Esdm.js:9793:27)
at Object.handler (file:///home/runner/work/IncluKiosk-FE/IncluKiosk-FE/node_modules/vite/dist/node/chunks/dep-Bn81Esdm.js:46529:15)
at file:///home/runner/work/IncluKiosk-FE/IncluKiosk-FE/node_modules/rollup/dist/es/shared/node-entry.js:22193:40
Error: Process completed with exit code 1.
2. 해결방법
오류문을 읽어보면 쉽게 원인을 파악할 수 있다.
기존 Vite에서는 Terser가 기본적으로 포함되었지만, Vite 3 이상 버전에서 Terser가 선택적 의존성(optional dependency)으로 변경되었기 때문에 발생한다는 것이다. 설정에서 minify: 'terser'
를 사용하려면 먼저 Terser를 프로젝트에 설치해주면 해당 문제는 쉽게 해결할 수 있다.
npm install terser --save-dev
'Error' 카테고리의 다른 글
[Raspberrypi] 세션을 시작할 수 없습니다 오류 (0) | 2025.05.22 |
---|---|
[RESTful API] 원인 모를 400에러 (GET요청, postman에서는 정상 동작) (0) | 2025.05.04 |
[GitHub Actions] CICD 정상 완료 후 CloudFront 캐시가 갱신되지 않을 때 (0) | 2025.04.13 |
[한글 오류] 한글 마지막 글자 2번번 해결방법법 (1) | 2025.02.20 |
[Ubuntu] 검은 화면에서 멈춤 / 검은 화면에서 커서만 깜빡임 (WSL)- 해결방법 (1) | 2024.12.01 |