var webpack = require(‘webpack’)
// 引入http-proxy-middleware插件,此插件是用来代理请求的,只能用于开发环境,目的主要是解决跨域请求后台api
var proxyMiddleware = require(‘http-proxy-middleware’)
// 下面的意思是指,如果不是testing环境就引入webpack.dev.conf.js配置文件
// 关于webpack.dev.conf.js配置文件请关注我的相关文章,建议现在就去看,否则后面看着吃力
var webpackConfig = process.env.NODE_ENV === ‘testing’ ?
require(‘./webpack.prod.conf’) :
require(‘./webpack.dev.conf’)
// default port where dev server listens for incoming traffic
// 下面是webpack-dev-server 监听的端口号,因为没有设置process.env.PORT,所以下面监听的就是config.dev.port即8080
var port = process.env.PORT || config.dev.port
// automatically open browser, if not set will be false
// 下面是true,至于为啥,本来就是true还要加!!两个感叹号,估计是vue作者装了个逼吧
var autoOpenBrowser = !!config.dev.autoOpenBrowser
// Define HTTP proxies to your custom API backend
// https://github.com/chimurai/http-proxy-middleware
// 下面是解决开发环境跨域问题的插件,我在config目录index.js文章中有介绍,自行查看
var proxyTable = config.dev.proxyTable
// 下面是创建node.js的express开发框架的实例,别问我为什么这样,自己看node.js去吧
var app = express()
// 把配置参数传递到webpack方法中,返回一个编译对象,这个编译对象上面有很多属性,自己去看吧,主要是用到里面的状态函数 如compilation,compile,after-emit这类的
var compil