Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Inicialización de doc"v9.0.025/6/2026
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
intlayerMinify
intlayerMinify es un plugin de Vite que minifica archivos JSON de diccionarios compilados durante una compilación de producción. Elimina todos los espacios en blanco innecesarios y, cuando se combina con intlayerPrune, opcionalmente renombra los nombres de los campos de contenido a alias alfabéticos cortos (a, b, c, ...) para reducir aún más el tamaño del bundle.
El plugin ya está incluido y configurado automáticamente cuando utiliza intlayer(). Solo necesita registrarlo manualmente si está componiendo la pila de plugins usted mismo.
Uso
Copiar el código al portapapeles
Condiciones de activación
intlayerMinify está activo solo cuando se cumplen las tres condiciones siguientes:
- El comando de Vite es
build(noserve/ dev). build.optimizeestrue(oundefined, que por defecto estruepara compilaciones).build.minifyestrueen su configuración de Intlayer.
Cuando editor.enabled es true, el plugin se sigue ejecutando pero omite el renombrado de campos: renombrar reescribe las claves de contenido que recorre el intérprete, por lo que el keyPath que recibe el editor visual ya no coincidiría con los diccionarios sin fusionar que edita. La compactación de espacios en blanco y la eliminación de metadatos de nivel superior se mantienen activas.
Qué se minifica
El plugin apunta a dos ubicaciones de diccionarios (según lo resuelto a partir de intlayer.system):
dictionariesDir— diccionarios estáticos para todos los idiomas (por ejemplo,.intlayer/dictionaries/*.json)dynamicDictionariesDir— diccionarios dinámicos por idioma
Los diccionarios en modo fetch (fetchDictionariesDir) nunca se minifican porque se sirven desde una API remota en tiempo de ejecución utilizando sus nombres de campo originales. Cambiar el nombre de los campos crearía una discrepancia entre la respuesta del servidor y los accesos a propiedades en el lado del cliente.
Ofuscación de nombres de campo (minificación de propiedades)
Cuando intlayerPrune ha analizado el código fuente y ha llenado pruneContext.dictionaryKeyToFieldRenameMap, intlayerMinify también cambia el nombre de los campos de contenido a alias cortos. Por ejemplo:
Copiar el código al portapapeles
Los accesos a propiedades de archivos fuente correspondientes se renombran mediante el paso de Babel dentro de intlayerOptimize, por lo que el comportamiento en tiempo de ejecución no cambia.
Los campos internos de Intlayer (nodeType, translation, etc.) nunca se renombran.
Dicionarios de casos extremos (Edge cases)
Los diccionarios marcados en pruneContext.dictionariesWithEdgeCases (anomalías estructurales detectadas durante la fase de prune) se omiten por completo — ni se minifican ni se ofuscan — para evitar el envío de datos dañados.
Grupos calificados (colecciones / variantes / registros meta)
Para diccionarios con una matriz qualifierTypes (colecciones, variantes y registros meta), el plugin conserva la matriz qualifierTypes y el mapa lateral meta literalmente. Solo las entradas de content tienen sus nombres de campo ofuscados. Las claves compuestas (utilizadas para la coincidencia de selectores en tiempo de ejecución) nunca se tocan.
