JavaScript 압축기와 정렬기 - 브라우저에서 도는 Terser

JavaScript 압축과 정렬

지역 이름을 줄이면 바이트가 가장 많이 줄지만, 이름을 텍스트로 찾는 코드는 깨집니다. eval, new Function, 매개변수 이름을 읽는 프레임워크 같은 것들이죠. 그런 것에 기대고 있다면 꺼 두세요.

JavaScript 압축 - 자주 묻는 질문

Terser입니다. UglifyJS의 후계이자 webpack, Rollup, Vite의 기본 압축기죠. 여러분의 빌드 단계가 이미 돌리고 있는 바로 그 엔진이라, 여기 결과는 빌드 결과의 근사치가 아니라 같은 것입니다.
신규
Markdown 편집기 Markdown을 작성하고 렌더링된 결과를 나란히 확인하세요. 제목, 목록, 표, 코드 블록, 링크를 지원하며 HTML을 복사하거나 .md와 .html 파일을 다운로드할 수 있습니다. 브라우저에서 실행됩니다.
오늘 인기
YAML 포맷터 엉킨 YAML의 들여쓰기를 정리하고, 줄 번호와 함께 오류를 찾고, 문서를 JSON으로 확인하세요. 주석과 블록 스칼라, 앵커가 그대로 유지됩니다. 브라우저에서 동작합니다.

이 도구가 하는 일

JavaScript 압축은 공백을 지우는 일이 아닙니다. 찾아 바꾸기로 하면 멀쩡해 보이면서 다르게 동작하는 파일이 나오고, 그 차이는 운영에서야 드러납니다. 이 페이지는 대부분의 프로젝트가 빌드 단계에서 쓰는 바로 그 엔진 Terser를 여러분의 브라우저 안에서 돌립니다.

사용 방법

  1. 1 JavaScript를 상자에 붙여 넣으세요.
  2. 2 대상을 고르고 이름을 줄일지 정하세요.
  3. 3 압축을 누르세요. 압축된 파일을 다시 펼치려면 정렬을 누르면 됩니다.

왜 찾아 바꾸기가 아니라 파서인가

JavaScript는 여러분이 빠뜨린 세미콜론을 스스로 채웁니다. "return"과 값 사이의 줄바꿈을 지우면 그 함수는 undefined를 돌려주기 시작합니다. 파일은 여전히 유효하고, 하는 일만 달라집니다. 같은 문자가 어디서는 나눗셈이고 어디서는 정규식입니다. 이걸 가르려면 패턴이 아니라 문법이 필요하고, 그래서 이 페이지는 진짜 파서를 씁니다.

실제로 작아지는 것

공백과 주석은 그중 가장 작은 몫입니다. 진짜 절약은 지역 변수를 한 글자로 바꾸고, 떨어져 있는 선언을 하나로 합치고, 상수를 미리 계산하고, 절대 실행되지 않는 코드를 버리는 데서 옵니다. 모두 트리 연산입니다. 압축기는 두 이름이 같은 결속을 가리키고 그 사이에서 아무도 그것을 읽지 않는다는 사실을 알아야 합니다.

이름 줄이기가 물어뜯는 지점

압축기는 자기가 볼 수 있는 것만 이름을 바꿉니다. 텍스트로 쓰인 이름은 보이지 않습니다. eval("count + 1"), new Function("a", "return a"), 또는 무엇을 넣을지 정하려고 함수의 매개변수 이름을 읽는 프레임워크. 이런 것들은 옛 이름을 계속 찾다가 아무것도 못 찾습니다. 이것은 언어의 성질이지 도구의 결함이 아닙니다. 그래서 이 스위치는 조용히 켜지 않고 여러분 손에 남겨 두었습니다.

정렬은 원본 파일을 되돌려 주지 않습니다

정렬은 들여쓰기와 줄바꿈을 되돌려 주므로 압축된 파일이 다시 읽을 만해집니다. 하지만 버려진 것은 돌아오지 않습니다. 주석은 사라졌고, 이름을 줄였다면 계속 짧은 채입니다. "e"가 한때 "errorMessage"였다는 걸 어떤 도구도 알아맞힐 수 없습니다. 운영 파일을 디버깅하려면 원본을 되살리는 것은 소스맵뿐입니다.

관련 개발자 도구

JSON 포매터 브라우저에서 JSON을 정렬, 압축, 검사합니다. 오류는 줄과 열로 짚어 주고 접을 수 있는 트리로 구조를 보여 줍니다.
HTML 포매터 엉킨 HTML을 들여쓰기해 읽기 좋게 만들거나, 덜어내어 더 작게 내보내세요. 조각에도 작동하며 여러분의 마크업을 다른 것으로 고쳐 쓰지 않습니다.
CSS 압축기 주석과 공백을 걷어내 CSS를 줄이거나, 깔끔한 들여쓰기로 다시 펼치세요. calc() 안의 공백, 문자열, 라이선스 주석은 그대로 둡니다.
XML 포매터 엉킨 XML을 들여쓰기해 읽기 좋게, 또는 덜어내어 작게 만드세요. RSS, CDATA, 네임스페이스를 처리하고 문서를 고쳐 쓰지 않습니다.
SQL 포매터 긴 쿼리를 읽기 좋은 줄로 나누거나 다시 한 줄로 압축하세요. 키워드 대소문자, 따옴표 이름, 문자열은 그대로 둡니다.

추천 도구

Word를 PDF로 무료 Word → PDF 변환: DOC, DOCX, ODT, RTF 파일을 올리면 서식이 유지된 PDF를 몇 초 만에 내려받습니다.
PDF를 Word로 무료 PDF → Word 변환: PDF를 올리면 몇 초 만에 편집 가능한 DOCX를 받습니다. 가입도 워터마크도 없습니다.
워드 카운터 무료 단어 수 세기: 텍스트를 붙여넣으면 단어·글자·문장·문단 수와 예상 읽기 시간을 보여줍니다. 내용은 브라우저를 벗어나지 않습니다.
문자 수 카운터 무료 글자 수 세기: 공백 포함·미포함 글자 수와 단어·줄 수를 세고 제목과 메타 설명의 SEO 길이도 확인합니다.
키워드 밀도 검사기 무료 키워드 밀도 검사기: 텍스트나 URL을 넣으면 단어와 구절의 출현 횟수와 비율을 보여줍니다.