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 globalVueI18n - Compilación de formato de mensaje en navegador:
vue-i18n.global.jses 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 marchavue-i18n.runtime.global.jscontiene 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.jspara producción
- Para usarlo directamente a través de
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
- Para uso mediante importaciones nativas de módulos ES (en navegador mediante
Con un Empaquetador
vue-i18n(.runtime).esm-bundler.js:- Para uso con empaquetadores como
webpack,rollupyparcel - 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-bundlery a su vez importarán sus dependencias (por ejemplo,@intlify/message-compilerimporta@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
- Las dependencias importadas también son construcciones
- Compilación de mensajes locales en navegador:
vue-i18n.runtime.esm-bundler.jses 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 campomoduleenpackage.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";
- Para uso con empaquetadores como
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).jsvue-i18n.runtime.node.js: es solo tiempo de ejecución.vue-i18n.node.js: incluye el compilador de tiempo de ejecución.