不急,从2个维度去理解这8个版本。vue
完整版: 包括编译器和运行时的版本 编译器: vue里用的<template></template>语法是须要被编译的 运行时: 用来建立Vue实例、渲染、处理虚拟Dom,能够理解为除了编译器剩下的代码都属于运行时
若是你须要使用template的语法,就须要编译器,那么就要使用完整版webpack
用了.vue文件的大多数状况下,你能够用运行时版本
当你使用vue-loader或vueify的时候, *.vue文件内部会预编译成JS,因此你在最终打好的包里,
其实是不须要编译器的,因此这种状况,应该用运行时版本,毕竟运行时版本的体积比完整版要小30%web
若是我必定要用完整版的呢? 如何选择版本呢?
你须要在webpack里配置aliasvue-cli
module.exports = { // ... resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' // 用 webpack 1 时需用 'vue/dist/vue.common.js' } } }
vue源码会根据process.env.NODE_ENV来判断是用生产仍是开发环境的代码
webpack里能够有自带的 new webpack.DefinePlugin()来设置process.env.NODE_ENV工具
相似这样spa
new webpack.DefinePlugin({ 'process.env': env }),