'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.

const path = require('path')

const pathSrc = path.resolve(__dirname, '../src');

let proxyTable = {
  '/icore.icp.web/pass/v1/sysusers/user/token': {  //https://portal.steerinfo.com/icore.icp.web/pass/sso/v1/sysusers/user/token
    //target: 'https://portal-dev.steerinfo.com/icore.icp.web/pass/sso/v1/sysusers/user/token',
    target:'http://172.16.33.166:9001/v1/sysusers/user/token',
    changeOrigin: true,
    pathRewrite: {
      '^/icore.icp.web/pass/v1/sysusers/user/token': '/'
    }
  },
  '/icore.icp.web/pass/v1': {
    //target: 'http://172.16.33.161:80/v1', //加http
    target: 'http://172.16.33.166:9001/v1',
    changeOrigin: true,
    pathRewrite: {
      '^/icore.icp.web/pass/v1': '/' //这里理解成用‘/api’代替target里面的地址，组件中我们调接口时直接用/api代替
      // 比如我要调用'http://0.0:300/user/add'，直接写‘/api/user/add’即可 代理后地址栏显示/
    }
  },
   '/icore.icp.web/pass/auth/login': {
     //target: 'http://sso-dev.steerinfo.com/icore.icp.web/pass/auth/login',
     target: 'http://172.16.33.166:9001/auth/login',
     changeOrigin: true,
     pathRewrite: {
       '^/icore.icp.web/pass/auth/login': ''
     }
   },
   '/icore-api': {
    target: 'http://172.16.33.166:9001',
    changeOrigin: true,
    pathRewrite: {
      '^/icore-api': '/'
    }
  },
  '/icore.icp.web/pass/act': {
    target: 'http://172.16.33.166:8095',
    changeOrigin: true,
    pathRewrite: {
      '^/icore.icp.web/pass/act': '/'
    }
  },
  // 表格表单请求的域名地址
  "/api/v1/cd": {
    target: "http://172.16.33.166:8083",
    ws: true,
    pathRewrite: {
      "^/api/v1/cd": "/api/v1/cd"
    }
  },
  //抽奖结果的接口
  "/icore.icp.web/game/v1": {
    target: "http://172.16.33.166:9002",
    ws: true,
    pathRewrite: {
      "^/icore.icp.web/game/v1": "/v1"
    }
  },
  // 所有数据的请求域名地址
  "/api/v1": {
    // target: "http://172.16.33.166:8080",
    // target: "http://localhost:8019",
    target: "http://localhost:8080",
    ws: true,
    pathRewrite: {
      "^/api/v1": "/api/v1"
    }
  },
  "/views/api/v1": {
    target: "http://172.16.33.166:8080",
    // target: "http://172.16.33.166:8080",
    // target: "http://192.168.1.115:8080",
    ws: true,
    pathRewrite: {
      "^/views/api/v1": "/api/v1"
    }
  },
  '/icore.icp.web/pass/logout': {
    target: 'http://172.16.33.166:9001/logout',
    changeOrigin: true,
    pathRewrite: {
      '^/icore.icp.web/pass/logout': '/'
    }
  },
}
let dist = '../dist';
if (pathSrc.indexOf('node_modules') > -1) {
    dist = '../../../dist';
    let proxyTableGet = require('../../../cors.js').proxyTable;
    for (let i in proxyTableGet) {
        proxyTable[i] = proxyTableGet[i]
    }
}

module.exports = {
    dev: {
      // Paths
      assetsSubDirectory: 'static',
      assetsPublicPath: '/',
      proxyTable: proxyTable,

    // Various Dev Server settings
    host: 'localhost', // can be overwritten by process.env.HOST
    port: 8802, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
    autoOpenBrowser: false,
    errorOverlay: true,
    notifyOnErrors: true,
    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-

    // Use Eslint Loader?
    // If true, your code will be linted during bundling and
    // linting errors and warnings will be shown in the console.
    useEslint: true,
    // If true, eslint errors and warnings will also be shown in the error overlay
    // in the browser.
    showEslintErrorsInOverlay: false,

    /**
     * Source Maps
     */

    // https://webpack.js.org/configuration/devtool/#development
    // devtool: 'cheap-module-eval-source-map',

    // If you have problems debugging vue-files in devtools,
    // set this to false - it *may* help
    // https://vue-loader.vuejs.org/en/options.html#cachebusting
    cacheBusting: true,

    cssSourceMap: true
  },
  css: {
    loaderOptions: {
      sass: {
        prependData: '\n        @import "@/styles/variables.scss";\n        '
      }
    }
  },

  build: {
    // Template for index.html
    index: path.resolve(__dirname, dist + '/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, dist),
    assetsSubDirectory: 'static', // 打包后 static放的位置
    assetsPublicPath: '../', // html中webpack打包的JS -> ../static/xxx.js

    /**
     * Source Maps
     */

    productionSourceMap: false,
    // https:       //webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',

    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: false,
    productionGzipExtensions: ['js', 'css'],

    // Run the build command with an extra argument to
    // View the bundle analyzer report after build finishes:
    // `npm run build --report`
    // Set to `true` or `false` to always turn it on or off
    bundleAnalyzerReport: process.env.npm_config_report
  }
}