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
- "Integrado en intlayer(); 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ésIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
intlayerCompiler
intlayerCompiler es un plugin de Vite que escanea los archivos de código fuente de los componentes en busca de declaraciones de contenido inline de Intlayer — contenido definido directamente dentro de un componente en lugar de en un archivo .content.ts separado — y las escribe en archivos JSON de diccionario durante la fase de transformación.
Desde Intlayer v9,intlayerCompilerse incluye automáticamente dentro del plugin principalintlayer()cuando tantocompiler.enabledestruecomocompiler.outputestán configurados en su configuración de Intlayer. Solo necesita registrarlo por separado cuando desee tener un control total sobre la configuración específica del compilador.
Uso
Como parte de intlayer() (recomendado, v9+)
Habilite el compilador a través de su configuración de Intlayer:
Copiar el código al portapapeles
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ compiler: { enabled: true, output: "./src/dictionaries", // donde se escriben los diccionarios extraídos },});Luego use el plugin estándar sin registro adicional:
Copiar el código al portapapeles
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Autónomo (cuando sea necesario)
Copiar el código al portapapeles
// vite.config.tsimport { defineConfig } from "vite";import { intlayerCompiler } from "vite-intlayer";export default defineConfig({ plugins: [intlayerCompiler()],});Opciones
Copiar el código al portapapeles
import type { IntlayerCompilerOptions } from "vite-intlayer";Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Opción | Tipo | Descripción |
|---|---|---|
configOptions | GetConfigurationOptions | Anulaciones de configuración de Intlayer reenviadas a getConfiguration(). |
compilerConfig | Partial<CompilerConfig> | Anulaciones para la sección de configuración específica del compilador (por ejemplo, enabled, output, filesList). |
Ejemplo
Copiar el código al portapapeles
intlayerCompiler({ configOptions: { configFile: "./config/intlayer.config.ts" }, compilerConfig: { enabled: true, output: "./src/dictionaries" },});Cómo funciona
Fase de transformación
Para cada archivo fuente que coincida con compiler.filesList, el plugin del compilador:
- Pasa el contenido del archivo a través de
extractContentde@intlayer/babel. - Llama a
onExtractpara cada declaración encontrada, lo que escribe el JSON del diccionario resultante encompiler.output. - Devuelve el código fuente transformado con las declaraciones en línea reemplazadas por llamadas estándar
useIntlayer('key')/getIntlayer('key').
Tipos de archivos admitidos: .ts, .tsx, .js, .jsx, .vue, .svelte, .astro.
HMR (Hot Module Replacement)
Cuando se guarda un archivo de componente en modo de desarrollo, el compilador:
- Detecta el cambio de archivo a través del hook
handleHotUpdatede Vite. - Vuelve a extraer el contenido del archivo actualizado.
- Escribe el JSON del diccionario actualizado.
- Activa una recarga completa de la página (
server.ws.send({ type: 'full-reload' })).
Un retraso (debounce) de 500 ms evita que la propia escritura del diccionario (que también activa un evento de cambio de archivo) cause un bucle de re-extracción infinito.
Deduplicación
intlayerCompiler utiliza el mismo mecanismo de deduplicación createPrimaryInstanceGuard que los otros plugins incluidos. Cuando están presentes tanto intlayer() (que incluye el compilador) como una llamada manual a intlayerCompiler(), solo se ejecuta la primera instancia registrada; no se escribe ningún diccionario dos veces.