
const CompressionPlugin = require("compression-webpack-plugin")// 不是开发环境就设为production，为让productionSourceMap生效
process.env.NODE_ENV !== 'development' ? process.env.NODE_ENV = 'production' : ''
module.exports = {
  publicPath: "/",   // 打包相对路径
  devServer: {
    port: 7840       // 运行端口号
  },
  productionSourceMap: false, // 生产环境是否生成 sourceMap 文件
  configureWebpack: () => {
    return {
      output: { // 输出重构 打包编译后的js文件名称,添加时间戳.
        filename: `js/[name].[hash].js`,
        chunkFilename: `js/[name].[hash].js`,
      },
      externals: {
        'vue': 'Vue',
        'vue-router': 'VueRouter',
        'vuex': 'Vuex',
        'axios': 'axios',
        'element-ui': 'ELEMENT',
        'SANHUI': 'SANHUI'
      },
      plugins: [
        new CompressionPlugin({
          test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型
          threshold: 10240, // 归档需要进行压缩的文件大小最小值，我这个是10K以上的进行压缩
          deleteOriginalAssets: false // 是否删除原文件
        })
      ]
    }
  },
	css: {
		extract:{ // 打包后css文件名称添加时间戳
		 	filename:`css/[name].[hash].css`,
		 	chunkFilename:`css/[name].[hash].css`,
		}
	}
}
