Skip to content

Archivos de Distribución Diferentes

En el directorio dist/ del paquete npm encontrarás muchas construcciones diferentes de Vue I18n. Aquí hay una descripción general de qué archivo dist debe usarse dependiendo del caso de uso.

Desde CDN o sin un Empaquetador

  • vue-i18n(.runtime).global(.prod).js:
    • Para usarlo directamente a través de <script src="..."> en el navegador. Exponerá el global VueI18n
    • Compilación de formato de mensaje en navegador:
      • vue-i18n.global.js es la construcción "completa" que incluye tanto el compilador como el tiempo de ejecución, por lo que soporta compilar formatos de mensajes sobre la marcha
      • vue-i18n.runtime.global.js contiene solo el tiempo de ejecución y requiere que los formatos de mensaje se pre-compilen durante un paso de construcción
    • Incluye todos los paquetes internos principales de Vue I18n - es decir, es un único archivo sin dependencias de otros archivos. Esto significa que debes importar todo desde este archivo y únicamente desde él para asegurar que estás obteniendo la misma instancia de código
    • Contiene ramas de producción/depuración codificadas y la construcción de producción está preminificada. Usa los archivos *.prod.js para producción

NOTA

Las construcciones globales no son construcciones UMD. Están construidas como IIFEs y están pensadas únicamente para uso directo a través de <script src="...">.

  • vue-i18n(.runtime).esm-browser(.prod).js:
    • Para uso mediante importaciones nativas de módulos ES (en navegador mediante <script type="module">)
    • Comparte la misma compilación de tiempo de ejecución, inserción de dependencias y comportamiento codificado de producción/depuración con la construcción global

Con un Empaquetador

  • vue-i18n(.runtime).esm-bundler.js:
    • Para uso con empaquetadores como webpack, rollup y parcel
    • Deja ramas de producción/depuración con guardias process.env.NODE_ENV (debe ser reemplazado por el empaquetador)
    • No envía construcciones minificadas (debe hacerse junto con el resto del código después del empaquetado)
    • Importa dependencias (por ejemplo, @intlify/core-base, @intlify/message-compiler)
      • Las dependencias importadas también son construcciones esm-bundler y a su vez importarán sus dependencias (por ejemplo, @intlify/message-compiler importa @intlify/shared)
      • Esto significa que puedes instalar/importar estas dependencias individualmente sin terminar con distintas instancias de dichas dependencias, pero debes asegurarte de que todas resuelvan a la misma versión
    • Compilación de mensajes locales en navegador:
      • vue-i18n.runtime.esm-bundler.js es solo tiempo de ejecución, y requiere que todos los mensajes locales se pre-compilen. Esta es la entrada predeterminada para empaquetadores (a través del campo module en package.json) porque al usar un empaquetador las plantillas típicamente se pre-compilan (por ejemplo, en archivos *.json)
      • vue-i18n.esm-bundler.js (predeterminado): incluye el compilador de tiempo de ejecución. Úsalo si estás usando un empaquetador pero aún deseas la compilación de mensajes locales (por ejemplo, plantillas a través de cadenas de JavaScript en línea). Para usar esta construcción, cambia tu declaración de importación a: import { createI18n } from "vue-i18n/dist/vue-i18n.esm-bundler.js";

NOTA

Si usas vue-i18n.runtime.esm-bundler.js, necesitarás precompilar todos los mensajes locales, y puedes hacerlo con .json (.json5) o .yaml, bloques personalizados i18n para gestionar recursos i18n. Por lo tanto, puedes pre-compilar todos los mensajes locales con el empaquetador y el siguiente cargador / complemento.

Para Node.js (Servidor)

  • vue-i18n(.runtime).node.js:
    • Para uso de módulos ES en Node.js
    • Para uso en Node.js mediante import
    • Los archivos de desarrollo/producción están preconstruidos, pero el archivo adecuado se requiere automáticamente basado en process.env.NODE_ENV
    • Este módulo es un módulo proxy de vue-i18n(.runtime).js
      • vue-i18n.runtime.node.js: es solo tiempo de ejecución.
      • vue-i18n.node.js: incluye el compilador de tiempo de ejecución.