| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 
 | var path = require('path')var webpack = require('webpack')
 let UglifyJsPlugin = require('uglifyjs-webpack-plugin')
 
 module.exports = {
 entry: './src/main.js',
 output: {
 path: path.resolve(__dirname, './dist'),
 publicPath: '/dist/',
 filename: 'build.js'
 },
 module: {
 rules: [
 {
 test: /\.css$/,
 use: [
 'vue-style-loader',
 'css-loader'
 ],
 },      {
 test: /\.vue$/,
 loader: 'vue-loader',
 options: {
 loaders: {
 }
 // other vue-loader options go here
 }
 },
 {
 test: /\.js$/,
 loader: 'babel-loader',
 exclude: /node_modules/
 },
 {
 test: /\.(png|jpg|gif|svg)$/,
 loader: 'file-loader',
 options: {
 name: '[name].[ext]?[hash]'
 }
 }
 ]
 },
 resolve: {
 alias: {
 'vue$': 'vue/dist/vue.esm.js'
 },
 extensions: ['*', '.js', '.vue', '.json']
 },
 devServer: {
 historyApiFallback: true,
 noInfo: true,
 overlay: true
 },
 performance: {
 hints: false
 },
 optimization: {
 minimizer: [
 new UglifyJsPlugin({
 uglifyOptions: {
 compress: false,
 }
 })
 ]
 },
 devtool: '#eval-source-map'
 }
 
 if (process.env.NODE_ENV === 'production') {
 module.exports.devtool = '#source-map'
 // http://vue-loader.vuejs.org/en/workflow/production.html
 module.exports.plugins = (module.exports.plugins || []).concat([
 new webpack.DefinePlugin({
 'process.env': {
 NODE_ENV: '"production"'
 }
 }),
 new webpack.LoaderOptionsPlugin({
 minimize: true
 })
 ])
 }
 
 |