JS 라이브러리를 만들때 개발시엔 invariant check를 위해 assert를 쓰되, 배포할땐 빼고싶거든요. 어떤 좋은 방법이 있을까요?
If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/01984ff2-4176-7ee5-b1c7-9fd209f86f4a on your instance and reply to it.
@bglbgl gwyng Vite 같은 경우에는 기본적으로
import.meta.env.DEV
이 빌드 시에는 false
로 치환되어서 minifier 돌리면 안쪽 코드가 통째로 날아가게 할 수 있습니다. 다른 번들러들에서도 비슷한 방법을 찾아볼 수 있을 것 같네요
@bglbgl gwyng 앞서 시니하님이 말한 deadcode elimination 어프로치가 좀 더 일반적으로 사용되는 것 같긴 해요. 이 방법이 여의치 않다면, 번들러에서 프로덕션 빌드할 때 주입하는 모듈을 교체하는 식으로도 수행해볼 수 있을 것 같습니다.