mirror of
https://github.com/vuejs/vue-cli.git
synced 2026-01-23 23:59:02 -06:00
41 lines
1.1 KiB
JavaScript
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')
|
|
}])
|
|
}
|
|
})
|
|
}
|