이 페이지와 원하는 AI 어시스턴트를 사용하여 문서를 요약합니다
버전 기록
- "문서 초기화"v9.0.02026. 6. 25.
이 페이지의 콘텐츠는 AI를 사용하여 번역되었습니다.
영어 원본 내용의 최신 버전을 보기이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.
문서에 대한 GitHub 링크문서의 Markdown을 클립보드에 복사
intlayerMinify
intlayerMinify는 프로덕션 빌드 중에 컴파일된 사전 JSON 파일을 압축(minify)하는 Vite 플러그인입니다. 불필요한 모든 공백을 제거하고, intlayerPrune과 결합하면 번들 크기를 더욱 줄이기 위해 콘텐츠 필드 이름을 짧은 알파벳 별칭(a, b, c, …)으로 선택적으로 변경합니다.
intlayer()를 사용하면 이 플러그인은 자동으로 포함되고 구성됩니다. 플러그인 스택을 직접 구성할 때만 수동으로 등록해야 합니다.
사용법
코드를 클립보드에 복사
활성화 조건
intlayerMinify는 다음 세 가지가 모두 참일 때만 활성화됩니다:
- Vite 명령어가
build인 경우 (serve/ dev가 아님). build.optimize가true이거나 (빌드의 기본값인undefined여서true로 설정된 경우).- Intlayer 설정에서
build.minify가true인 경우.
editor.enabled가 true이면 플러그인은 계속 실행되지만 필드 이름 변경은 건너뜁니다: 이름 변경은 인터프리터가 순회하는 콘텐츠 키를 다시 작성하므로, 비주얼 에디터가 받는 keyPath가 편집 대상인 병합되지 않은 사전과 더 이상 일치하지 않게 됩니다. 공백 압축과 최상위 메타데이터 제거는 계속 활성 상태로 유지됩니다.
압축 대상
플러그인은 intlayer.system에서 확인된 다음 두 개의 사전 위치를 대상으로 합니다:
dictionariesDir— 정적 모든 언어 사전 (예:.intlayer/dictionaries/*.json)dynamicDictionariesDir— 언어별 동적 사전
페치 모드 사전(fetchDictionariesDir)은 런타임에 원래 필드 이름을 사용하여 원격 API에서 제공되므로 절대 압축되지 않습니다. 필드 이름을 바꾸면 서버 응답과 클라이언트 측 속성 액세스 사이에 불일치가 발생할 수 있기 때문입니다.
필드 이름 난독화 (속성 압축)
intlayerPrune이 코드베이스를 분석하고 pruneContext.dictionaryKeyToFieldRenameMap을 채우면, intlayerMinify도 콘텐츠 필드 이름을 짧은 별칭으로 바꿉니다. 예를 들어:
코드를 클립보드에 복사
이에 해당하는 소스 파일 속성 액세스는 intlayerOptimize 내부의 Babel 과정을 통해 이름이 변경되므로 런타임 동작은 그대로 유지됩니다.
Intlayer 내부 필드(nodeType, translation 등)는 이름이 바뀌지 않습니다.
예외적 사전 (Edge-cases)
pruneContext.dictionariesWithEdgeCases에 플래그가 지정된 사전(정리 단계에서 감지된 구조적 기형)은 손상된 데이터가 전달되는 것을 방지하기 위해 완전히 무시되며, 압축되거나 난독화되지 않습니다.
한정자 그룹 (컬렉션 / 변형 / 메타 레코드)
qualifierTypes 배열을 갖는 사전(컬렉션, 변형 및 메타 레코드)의 경우 플러그인은 qualifierTypes 배열과 meta 사이드 맵을 그대로 유지합니다. content 항목의 필드 이름만 난독화됩니다. 런타임에 선택기 일치에 사용되는 복합 키는 절대 수정되지 않습니다.
