Internationalization plugin for Vue.js
vue-i18n(.runtime).global(.prod).js
:
<script src="...">
in the browser. Exposes the VueI18n
global<script src="...">
vue-i18n.global.js
is the "full" build that includes both the compiler and the runtime so it supports compiling locale messages on the flyvue-i18n.runtime.global.js
contains only the runtime and requires locale messages to be pre-compiled during a build step@intlify/shared
@intlify/message-compiler
@intlify/core
*.prod.js
files for productionvue-i18n(.runtime).esm-browser(.prod).js
:
<script type="module">
)vue-i18n(.runtime).esm-bundler.js
:
webpack
, rollup
and parcel
process.env.NODE_ENV
guards (must be replaced by bundler)@intlify/core-base
, @intlify/message-compiler
)
esm-bundler
builds and will in turn import their dependencies (e.g. @intlify/message-compiler
imports @intlify/shared
)vue-i18n.runtime.esm-bundler.js
(default) is runtime only, and requires all locale messages to be pre-compiled. This is the default entry for bundlers (via module
field in package.json
) because when using a bundler templates are typically pre-compiled (e.g. in *.json
files)vue-i18n.esm-bundler.js
: includes the runtime compiler. Use this if you are using a bundler but still want locale messages compilation (e.g. templates via inline JavaScript strings)vue-i18n.cjs(.prod).js
:
require()
target: 'node'
and properly externalize vue-i18n
, this is the build that will be loadedprocess.env.NODE_ENV
vue-i18n(.runtime).node.mjs
:
import
process.env.NODE_ENV
vue-i18n(.runtime).mjs
vue-i18n.runtime.node.mjs
: is runtime onlyvue-i18n.node.mjs
: includes the runtime compilerNOTE: ES Modules will be the future of the Node.js module system. The
vue-i18n.cjs(.prod).js
will be deprecated in the future. We recommend you would usevue-i18n(.runtime).node.mjs
. 9.3+
The esm-bundler
builds now exposes global feature flags that can be overwritten at compile time:
__VUE_I18N_FULL_INSTALL__
(enable/disable, in addition to vue-i18n APIs, components and directives all fully support installation: true
)__VUE_I18N_LEGACY_API__
(enable/disable vue-i18n legacy style APIs support, default: true
)__INTLIFY_DROP_MESSAGE_COMPILER__
(enable/disable whether to tree-shake message compiler when we will be bundling)The build will work without configuring these flags, however it is strongly recommended to properly configure them in order to get proper tree shaking in the final bundle. To configure these flags:
define
optionNote: the replacement value must be boolean literals and cannot be strings, otherwise the bundler/minifier will not be able to properly evaluate the conditions.