| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | var path = require('path')var webpack = require('webpack')function resolve(dir) {  return path.join(__dirname, dir)}const NODE_ENV = process.env.NODE_ENVmodule.exports = {  entry: NODE_ENV=='development'? './src/main.js' : './index.js',  output: {    path: path.resolve(__dirname, './dist'),    publicPath: '/dist/',    filename: 'index.js'  },  module: {    rules: [      {        test: /\.css$/,        use: [          'vue-style-loader',          'css-loader'        ],      },      {        test: /\.scss$/,        use: [          'vue-style-loader',          'css-loader',          'sass-loader'        ],      },      {        test: /\.sass$/,        use: [          'vue-style-loader',          'css-loader',          'sass-loader?indentedSyntax'        ],      },      {        test: /\.vue$/,        loader: 'vue-loader',        options: {          loaders: {            // Since sass-loader (weirdly) has SCSS as its default parse mode, we map            // the "scss" and "sass" values for the lang attribute to the right configs here.            // other preprocessors should work out of the box, no loader config like this necessary.            'scss': [              'vue-style-loader',              'css-loader',              'sass-loader'            ],            'sass': [              'vue-style-loader',              'css-loader',              'sass-loader?indentedSyntax'            ]          }          // 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]'        }      },      {        test: /\.(eot|svg|ttf|woff|woff2)(\?\S*)?$/,        loader: 'file-loader'      }    ]  },  resolve: {    alias: {      'vue$': 'vue/dist/vue.esm.js',      '@': resolve('src')    },    extensions: ['*', '.js', '.vue', '.json']  },  devServer: {    historyApiFallback: true,    noInfo: true,    overlay: true  },  performance: {    hints: 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.optimize.UglifyJsPlugin({      sourceMap: true,      compress: {        warnings: false      }    }),    new webpack.LoaderOptionsPlugin({      minimize: true    })  ])}
 |