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 globalVueI18n - Compilation du format de message dans le navigateur :
vue-i18n.global.jsest la version "complète" qui inclut à la fois le compilateur et le runtime, donc elle permet de compiler les formats de message à la voléevue-i18n.runtime.global.jsne 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.jspour la production
- Pour une utilisation directe via
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
- Pour une utilisation via les imports de modules ES natifs (dans le navigateur via
Avec un bundler
vue-i18n(.runtime).esm-bundler.js:- Pour une utilisation avec des bundlers comme
webpack,rollupetparcel - 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-bundleret importeront à leur tour leurs dépendances (ex:@intlify/message-compilerimporte@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
- Les dépendances importées sont également des versions
- Compilation des messages locaux dans le navigateur :
vue-i18n.runtime.esm-bundler.jsest 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 champmoduledanspackage.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";
- Pour une utilisation avec des bundlers comme
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).jsvue-i18n.runtime.node.js: n'est que le runtime.vue-i18n.node.js: inclut le compilateur du runtime.