vue(.runtime).global(.prod).js
:
<script src="...">
in the browser. Exposes the Vue
global.<script src="...">
.vue.global.js
is the "full" build that includes both the compiler and the runtime so it supports compiling templates on the fly.vue.runtime.global.js
contains only the runtime and requires templates to be pre-compiled during a build step.*.prod.js
files for production.vue(.runtime).esm-browser(.prod).js
:
<script type="module">
).vue(.runtime).esm-bundler.js
:
webpack
, rollup
and parcel
.process.env.NODE_ENV
guards (must be replaced by bundler)@vue/runtime-core
, @vue/compiler-core
)
esm-bundler
builds and will in turn import their dependencies (e.g. @vue/runtime-core
imports @vue/reactivity
)vue.runtime.esm-bundler.js
(default) is runtime only, and requires all templates 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 *.vue
files).vue.esm-bundler.js
: includes the runtime compiler. Use this if you are using a bundler but still want runtime template compilation (e.g. in-DOM templates or templates via inline JavaScript strings). You will need to configure your bundler to alias vue
to this file.Detailed Reference on vuejs.org
esm-bundler
builds of Vue expose global feature flags that can be overwritten at compile time:
__VUE_OPTIONS_API__
true
__VUE_PROD_DEVTOOLS__
false
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__
false
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.
vue.cjs(.prod).js
:
require()
.target: 'node'
and properly externalize vue
, this is the build that will be loaded.process.env.NODE_ENV
.