const path = require('path')
const CompressionPlugin = require('compression-webpack-plugin')
const TerserPlugin = require("terser-webpack-plugin");
function resolve(dir) {
  return path.join(__dirname, dir)
}
// var appData = require('./json/video.json')//加载本地数据文件

// vue.config.js
module.exports = {
  /*
    Vue-cli3:
    Crashed when using Webpack `import()` #2463
    https://github.com/vuejs/vue-cli/issues/2463
   */
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  /*
  pages: {
    index: {
      entry: 'src/main.js',
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    }
  },
  */
  configureWebpack: () => {
    if (process.env.NODE_ENV === 'production') {
      return {
        plugins: [new CompressionPlugin({
          test: /\.js$|\.html$|\.css/,
          threshold: 10240,
          deleteOriginalAssets: false
        }), new TerserPlugin({
          cache: true,//降版本后添加
          sourceMap: false,//降版本后添加
          // 多进程
          parallel: true,//降版本后添加
          terserOptions: {
            ecma: undefined,
            warnings: false,
            parse: {},
            compress: {
              drop_console: true,
              drop_debugger: false,
              pure_funcs: ['console.log'], // 移除console
            },
          },
        }),]
      }
    }
  },

  chainWebpack: (config) => {
    config.resolve.alias
      .set('@$', resolve('src'))
      .set('@base', resolve('src/base'))
      .set('@api', resolve('src/api'))
      .set('@assets', resolve('src/assets'))
      .set('@comp', resolve('src/components'))
      .set('@views', resolve('src/views'))
      .set('@layout', resolve('src/layout'))
      .set('@static', resolve('src/static'));
    config.plugins.delete('prefetch')
  },
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [
        resolve('src/styles/var.less'),
        resolve('src/styles/mixin.less')
      ]
    }
  },
  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          /* less 变量覆盖，用于自定义 ant design 主题 */

          /*
          'primary-color': '#F5222D',
          'link-color': '#F5222D',
          'border-radius-base': '4px',
          */
        },
        javascriptEnabled: true,
      }
    }
  },

  devServer: {
    hot: true,
    // inline: true,
    port: 3000,
    open: true,
    proxy: {
      '/jeecg-boot': {
        // target: 'http://192.168.1.22:7001', //请求本地 需要jeecg-boot后台项目  蒙蒙
        // target: 'http://192.168.1.181:7001', //请求本地 需要jeecg-boot后台项目  赵西安
        // target: 'http://192.168.1.193:8080', //请求本地 需要jeecg-boot后台项目  李煜一
        // target: 'http://192.168.1.193:31012', //请求本地 需要jeecg-boot后台项目  李煜一
        target: 'http://api.bjhcstszkj.cn', //请求本地 需要jeecg-boot后台项目
        // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目
        // target: 'http://192.168.1.251/', //请求本地 需要jeecg-boot后台项目
        // target:'http://127.0.0.1:7001',
        // target: 'http://192.168.1.43:9999', // 子安
        // target: 'http://192.168.1.8:9999', // 学超
        // target:'http://192.168.0.195:9999',//测试


        ws: false,

        // changeOrigin: true,
        // pathRewrite: {
        //     '/jeecg-boot': ''  //默认所有请求都加了jeecg-boot前缀，需要去掉
        // }
      },
    },
    // before(app) {
    //     app.get('/seller', (req, res) => {
    //         res.json({
    //           errno: 0,
    //           data: appData
    //         })//接口返回json数据，上面配置的数据seller就赋值给data请求后调用
    //     })
    // }
  },

  lintOnSave: undefined,
  //   publicPath:'./',
}