A rule of thumb: files that end in
common.jsare meant for built tools, files that do not end incommon.jsare meant for direct browser usage.
-
The full (compiler-included) browser build. This is the build you can just include with a script tag:
<script src="https://unpkg.com/vue/dist/vue.js"></script>Note that this build is hard-coded to development mode.
-
Same as
vue.js, but minified AND is hard-coded to production mode (with runtime checks and warnings stripped). -
The full (compiler-included) CommonJS build. This is the build intended to be used with a Node-compatible bundler, e.g. Webpack or Browserify.
The difference between the browser build and the CommonJS build is that the latter preserves the
process.env.NODE_ENVcheck for development/production modes (defaults to development mode). This gives you more control over what mode the code should run in:-
When bundling for the browser, you can turn on production mode by using Webpack's DefinePlugin to replace
process.env.NODE_ENVwith the"production"string literal:plugins: [ new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"production"' }) ]
This also allows minifiers to completely drop the warnings inside the conditional blocks. For Browserify, you can use envify to achieve the same.
-
When running Vue in Node.js (during server side rendering), Vue will pick up the actual
process.env.NODE_ENVif set.
-
-
The runtime-only (compiler-excluded) CommonJS build.
This build does not support the
templateoption, because it doesn't include the compiler. It is thus 30% lighter than the full build. However, you can still use templates in Single-File*.vuecomponents viavue-loaderorvueify, as these tools will pre-compile the templates into render functions for you.This is the default build you get from
import Vue from 'vue'orvar Vue = require('vue'). To use the full CommonJS build instead, configure Webpack via theresolve.aliasoption:resolve: { alias: { vue$: 'vue/dist/vue.common.js' } }
For Browserify, use the aliasify transform.
-
The runtime-only (compiler-excluded) browser build. You can also include this build with a script tag, but with this build, you will not be able to use the
templateoption. Hard-coded to development mode. -
Same as
vue.runtime.js, but minified AND hard-coded to production mode (with runtime checks and warnings stripped).