Skip to content

Différents fichiers de distribution

Dans le répertoire dist/ du package npm vous trouverez de nombreuses versions différentes de Vue I18n. Voici un aperçu du fichier dist à utiliser selon le cas d'utilisation.

Depuis un CDN ou sans bundler

  • vue-i18n(.runtime).global(.prod).js:
    • Pour une utilisation directe via <script src="..."> dans le navigateur. Expose le global VueI18n
    • Compilation du format de message dans le navigateur :
      • vue-i18n.global.js est la version "complète" qui inclut à la fois le compilateur et le runtime, donc elle permet de compiler les formats de message à la volée
      • vue-i18n.runtime.global.js ne contient que le runtime et nécessite que les formats de message soient pré-compilés lors d'une étape de construction
    • Intègre tous les paquets internes principaux de Vue I18n - c'est-à-dire qu'il s'agit d'un seul fichier sans dépendances vers d'autres fichiers. Cela signifie que vous devez impérativement importer tout depuis ce fichier uniquement pour garantir que vous obtenez la même instance de code
    • Contient des branches prod/dev codées en dur, et la version prod est pré-minimisée. Utilisez les fichiers *.prod.js pour la production

NOTE

Les versions globales ne sont pas des versions UMD. Elles sont construites comme des IIFEs et ne sont destinées qu'à une utilisation directe via <script src="...">.

  • vue-i18n(.runtime).esm-browser(.prod).js:
    • Pour une utilisation via les imports de modules ES natifs (dans le navigateur via <script type="module">)
    • Partage la même compilation du runtime, l'intégration des dépendances et le comportement codé en dur de prod/dev avec la version globale

Avec un bundler

  • vue-i18n(.runtime).esm-bundler.js:
    • Pour une utilisation avec des bundlers comme webpack, rollup et parcel
    • Laisse les branches prod/dev avec les gardes process.env.NODE_ENV (doit être remplacé par le bundler)
    • Ne livra pas de versions minimisées (à faire ensemble avec le reste du code après le bundling)
    • Importe les dépendances (ex: @intlify/core-base, @intlify/message-compiler)
      • Les dépendances importées sont également des versions esm-bundler et importeront à leur tour leurs dépendances (ex: @intlify/message-compiler importe @intlify/shared)
      • Cela signifie que vous pouvez installer/importer ces dépendances individuellement sans aboutir à différentes instances de ces dépendances, mais vous devez vous assurer qu'elles résolvent toutes la même version
    • Compilation des messages locaux dans le navigateur :
      • vue-i18n.runtime.esm-bundler.js est uniquement le runtime, et requiert que tous les messages locaux soient pré-compilés. Il s'agit de l'entrée par défaut pour les bundlers (via le champ module dans package.json) car lors de l'utilisation d'un bundler, les templates sont généralement pré-compilés (ex: dans des fichiers *.json)
      • vue-i18n.esm-bundler.js (par défaut) : inclut le compilateur du runtime. Utilisez-le si vous utilisez un bundler mais souhaitez toujours la compilation des messages locaux (ex: templates via des chaînes JavaScript inline). Pour utiliser cette version, modifiez votre instruction d'importation en : import { createI18n } from "vue-i18n/dist/vue-i18n.esm-bundler.js";

NOTE

Si vous utilisez vue-i18n.runtime.esm-bundler.js, vous devrez pré-compiler tous les messages locaux, et vous pouvez le faire avec .json (.json5) ou .yaml, des blocs personnalisés i18n pour gérer les ressources i18n. Par conséquent, vous pouvez pré-compiler tous les messages locaux avec le bundler et le chargeur / plugin suivant.

Pour Node.js (Serveur)

  • vue-i18n(.runtime).node.js:
    • Pour une utilisation des modules ES dans Node.js
    • Pour une utilisation dans Node.js via import
    • Les fichiers dev/prod sont pré-construits, mais le fichier approprié est automatiquement requis selon process.env.NODE_ENV
    • Ce module est un module proxy de vue-i18n(.runtime).js
      • vue-i18n.runtime.node.js : n'est que le runtime.
      • vue-i18n.node.js : inclut le compilateur du runtime.