Files
vue-cli/packages/@vue/cli-service/lib/config-plugins/dev.js
2017-12-29 16:34:04 -05:00

41 lines
1.1 KiB
JavaScript

const webpack = require('webpack')
const HTMLPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const WatchMissingNodeModulesPlugin = require('../webpack/watchmissingnodemodulesplugin')
module.exports = api => {
api.chainWebpack(webpackConfig => {
if (process.env.NODE_ENV === 'development') {
webpackConfig
.devtool('cheap-module-source-map')
webpackConfig
.plugin('hmr')
.use(webpack.HotModuleReplacementPlugin)
webpackConfig
.plugin('named-modules')
.use(webpack.NamedModulesPlugin)
webpackConfig
.plugin('no-emit-on-errors')
.use(webpack.NoEmitOnErrorsPlugin)
webpackConfig
.plugin('firendly-errors')
.use(FriendlyErrorsPlugin)
webpackConfig
.plugin('watch-missing')
.use(WatchMissingNodeModulesPlugin, [api.resolve('node_modules')])
// TODO handle publicPath in template
webpackConfig
.plugin('html')
.use(HTMLPlugin, [{
template: api.resolve('public/index.html')
}])
}
})
}