JavaScript 압축기
JavaScript 소스를 파싱하여 공백과 불필요한 구문을 줄입니다. Terser를 별도 Web Worker에서 실행하므로 작업을 취소할 수 있고 10초를 넘으면 종료합니다. 기본값은 일반 스크립트·압축 최적화 켜기·변수명 단축 끄기이며 입력 코드는 실행하지 않습니다.
주요 기능
- 일반 스크립트 또는 ES 모듈 처리 모드
- 압축 최적화와 변수명 단축을 각각 선택
- 함수·클래스 이름과 라이선스 계열 주석 유지 설정
- Worker 실행·취소·10초 제한으로 오래 걸리는 작업 종료
사용 방법
- JavaScript 원문을 입력하고 일반 스크립트 또는 ES 모듈을 선택합니다.
- 변수명 단축과 압축 최적화 설정을 고릅니다. 외부에서 사용하는 이름이 있으면 단축을 끄고 확인하세요.
- 실행합니다. 오래 걸리면 취소하거나 입력을 줄여 다시 시도합니다.
- 결과를 복사해 실제 실행 환경의 테스트를 통과하는지 확인한 뒤 사용합니다.
활용 예시
- 작은 독립 JavaScript 배포 파일의 용량 줄이기
- 스크립트와 ES 모듈의 압축 결과 비교
- 변수명 단축 여부에 따른 코드 크기 검토
자주 묻는 질문
입력 코드를 실행하거나 서버에 보내나요?
입력은 브라우저 Worker에서 코드 문법으로 파싱하고 출력할 뿐 eval이나 함수 호출로 실행하지 않습니다. 이 도구의 처리를 위해 입력을 서버로 전송하지 않습니다.
스크립트와 모듈 모드는 어떻게 선택하나요?
import·export를 포함하는 ES 모듈이면 모듈을 선택하세요. 모듈 모드는 엄격 모드 및 모듈 범위를 가정하므로 전역 부작용에 의존하는 일반 스크립트에 임의로 적용하지 마세요.
변수명 단축은 모든 이름을 바꾸나요?
옵션을 켜면 Terser가 허용하는 지역 변수명을 단축합니다. 속성명 단축과 eval에 대한 공격적인 처리는 꺼져 있고 함수·클래스 이름은 유지하도록 설정합니다. 외부 참조나 동적 접근이 있는 코드는 결과 테스트가 필요합니다.
주석과 소스맵도 유지하나요?
@license, @preserve, /*! 같은 Terser의 라이선스 계열 주석은 유지하도록 설정합니다. 일반 주석은 제거될 수 있고 소스맵은 생성하지 않습니다. 법적 고지와 배포 라이선스는 원본을 기준으로 별도 확인하세요.
TypeScript, JSX, 난독화, 구형 브라우저 변환도 하나요?
일반 JavaScript 압축용이며 TypeScript·JSX는 지원하지 않습니다. 문법을 구형 브라우저용으로 바꾸는 트랜스파일러나 비밀을 보호하는 난독화 서비스도 아닙니다.
취소나 시간 초과가 발생하면 어떻게 되나요?
해당 Worker를 종료하고 미완성 결과는 표시하지 않습니다. 입력 최대 100,000 UTF-16 코드 단위, 실행 시간 최대 10초입니다. 입력을 줄이거나 압축 최적화를 꺼서 다시 실행할 수 있습니다.
개인정보 안내
입력과 결과는 브라우저 메모리에서 처리하며 이 도구가 서버로 전송하거나 저장하지 않습니다. 새로고침하면 지워집니다. 사이트 공통 광고·방문 분석은 별도로 작동할 수 있으며 도구 사용 집계에는 입력·출력 원문이 포함되지 않습니다.
댓글과 질문