const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
  assetsDir: 'static', //  outputDir的静态资源(js、css、img、fonts)目录
  publicPath: './', // 静态资源路径（默认/，如果不改打包后会白屏）
  devServer: {
    host: '192.168.2.97',
    port: 8080,
    // 跨域
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: 'https://www.lvweicaoping.com', //要跨域的地址，接口对接使用
        changeOrigin: true, // 允许跨域
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: '',
        },
        ws: false,
      },
    },
  },
  transpileDependencies: true,
  lintOnSave: false,
  //生产环境是不需要sourceMap的，如下配置可以去除
  //问题： vue项目打包之后js文件夹中，会自动生成一些map文件，占用相当一部分空间
  //sourceMap资源映射文件，存的是打包前后的代码位置，方便开发使用，这个占用相当一部分空间。
  //map文件的作用在于：项目打包后，代码都是经过压缩加密的，如果运行时报错，输出的错误信息无法准确得知是哪里的代码报错，有了map就可以像未加密的代码一样，准确的输出是哪一行哪一列有错。
  productionSourceMap: false, //清除sourceMap（可以减小一半大小如：压缩包7M，使用后3M多）

  //   打包后禁止在控制台输出console.log
  configureWebpack: (config) => {
    if (process.env.NODE_ENV === 'production') {
      
      config.plugins.push(
        new TerserPlugin({
          terserOptions: {
            ecma: undefined,
            warnings: false,
            parse: {},
            compress: {
              drop_console: true,
              drop_debugger: false,
              pure_funcs: ['console.log'], // 移除console
            },
          },
        })
      )
    }
  },
}
