FAQ
최상위 변수가 제거됨
소스 타입이 module이면 최상위 변수가 제거될 수 있습니다. 모듈 코드의 최상위 변수는 다른 모듈에서 접근할 수 없기 때문입니다. 반면 스크립트 코드의 최상위 변수는 전역으로 취급되어 다른 스크립트에서 접근할 수 있습니다. 최상위 변수를 반드시 남겨야 한다면 .mjs 파일 이름을 쓰지 말고 module 옵션도 켜지 마세요.
문자열 안의 줄바꿈이 제거되지 않음
압축 결과에서 문자열 안 줄바꿈이 \n으로 바뀌지 않고 남아 있는 것이 의외일 수 있습니다. 이스케이프 \n은 2바이트인데 실제 줄바꿈 문자는 1바이트이기 때문입니다.
js
// this code is 16 bytes
const foo="a\nb"
// this code is 15 bytes
const foo=`a
b`