const CompressionWebpackPlugin = require('compression-webpack-plugin')
const TerserPlugin = require('terser-webpack-plugin')

module.exports = {
  // ...other vue-cli plugin options...
  publicPath: '/',
  outputDir: 'kor',
  css: {
    loaderOptions: {
      less: {
        javascriptEnabled: true // 加载LESS 需要把JS设置一下
        // lessOptions: {
        //   modifyVars: {
        //     // 直接覆盖变量
        //     // 'blue': '#111',
        //     // 'border-color': '#eee',
        //     // 或者可以通过 less 文件覆盖（文件路径为绝对路径）
        //     hack: `true; @import "/src/style.less";`,
        //   },
        // }
      }
    }
  },
  devServer: {
    proxy: { // 设置代理
      '/proxyApi': {
        target: 'http://172.16.101.107:20000',
        // target: 'http://' + "124.71.183.184:8093",
        changeOrigin: true,
        pathRewrite: {
          '^/proxyApi': ''
        }
      },
      '/oss': {
        target: 'http://172.16.101.107:8888',
        // target: 'http://' + "124.71.183.184:8093",
        changeOrigin: true,
        // pathRewrite: {
        //   '^/proxyApi': ''
        // }
      }
    }
  },
  configureWebpack: {
    optimization: {
      minimize: true,
      minimizer: [
        new TerserPlugin({
          parallel: true,
          terserOptions: {
            compress: {
              drop_console: true, // 默认false -- 移除console.*（console.log、console.error等等）
            },
          },
        }),
      ],
    },
    plugins: [
      new CompressionWebpackPlugin(),
    ],
  },

  // pwa: {
  //   name: 'My App',
  //   themeColor: '#4DBA87',
  //   msTileColor: '#000000',
  //   appleMobileWebAppCapable: 'yes',
  //   appleMobileWebAppStatusBarStyle: 'black',
  //   manifestOptions:{`
  //     display: 'standalone',
  //     theme_color: '#333333'
  //   },
  //   // configure the workbox plugin
  //   workboxPluginMode: 'InjectManifest',
  //   workboxOptions: {
  //     // swSrc is required in InjectManifest mode.
  //     swSrc: 'dev/sw.js',
  //     // ...other Workbox options...
  //   }
  // }
}
