vue/dist/README.md
2016-12-13 00:00:20 -05:00

2.8 KiB

Explanation of Build Files

A rule of thumb: files that end in common.js are meant for built tools, files that do not end in common.js are meant for direct browser usage.

  • vue.js

    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.

  • vue.min.js

    Same as vue.js, but minified AND is hard-coded to production mode (with runtime checks and warnings stripped).

  • vue.common.js

    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_ENV check 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_ENV with 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_ENV if set.

  • vue.runtime.common.js

    The runtime-only (compiler-excluded) CommonJS build.

    This build does not support the template option, 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 *.vue components via vue-loader or vueify, 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' or var Vue = require('vue'). To use the full CommonJS build instead, configure Webpack via the resolve.alias option:

    resolve: {
      alias: {
        vue$: 'vue/dist/vue.common.js'
      }
    }
    

    For Browserify, use the aliasify transform.

  • vue.runtime.js

    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 template option. Hard-coded to development mode.

  • vue.runtime.min.js

    Same as vue.runtime.js, but minified AND hard-coded to production mode (with runtime checks and warnings stripped).