const path = require("path")
function resolve(dir) {
  return path.join(__dirname, dir)
}
/**
 * 修改serverHost时记得同时将main.js里面的serverHost也改一下
 */
// const serverHost = "http://192.168.3.113:8006"; //  石:3.113 46:石wifi
const localHost = "http://192.168.1.4:8056";
// const serverHost = "http://10.52.28.184:9328"; //  1.4 石 1.11嘉陵 1.15
const serverHost = "http://192.168.1.4:8056"; //  1.4 石 1.11嘉陵 1.15
// const serverHost = "http://192.168.1.115:8006";
// const serverHost = "http://183.222.39.242:8006";
// https://cli.vuejs.org/zh/guide/webpack.html#%E7%AE%80%E5%8D%95%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%B9%E5%BC%8F
// export function getserverHost() {
//   setItem('serverHost', serverHost);
// }
module.exports = {
  publicPath: "/",
  outputDir: "pc", // 设置打包成 pc 文件夹,后压缩成 pc.zip
  assetsDir: "static",
  lintOnSave: false, //process.env.NODE_ENV === 'development',
  productionSourceMap: false,
  devServer: {
    port: 9535, //
    open: true,
    hot: true,
    overlay: {
      warnings: false,
      errors: true
    },
    // webpack devServer 提供了代理的功能
    proxy: {
      // 当地址中有/api的时候会触发代理机制
      [process.env.VUE_APP_GATEWAY_API]: {
        // target: process.env.VUE_APP_GATEWAY_BASE_URL,
        target: serverHost,
        // pathRewrite: { "^/api": "" },
        changeOrigin: true, // 是否跨域
        logLevel: "debug",
        onProxyReq(proxyReq, req, res) {
          proxyReq.setHeader("X-Forwarded-host", process.env.VUE_APP_GATEWAY_HOST)
          proxyReq.setHeader("Connection", "Keep-Alive") //设置长连接
        }
      },
      "/serverHost": {
        target: serverHost,
        changeOrigin: true,
        logLevel: "debug"
      },
      // "/mosty-wljc": {
      //   target: localHost,
      //   changeOrigin: true,
      //   logLevel: "debug"
      // },
      "/mosty-platform": {
        target: serverHost,
        changeOrigin: true,
        logLevel: "debug"
      }
      ,
      "/mosty-api": {
        target: serverHost,
        changeOrigin: true,
        logLevel: "debug"
      }
    }
  },
  chainWebpack(config) {
    // 设置 svg-sprite-loader
    // config 为 webpack 配置对象
    // config.module 表示创建一个具名规则，以后用来修改规则
    config.module
      // 规则
      .rule("svg")
      // 忽略
      .exclude.add(resolve("src/icons"))
      // 结束
      .end()
    // config.module 表示创建一个具名规则，以后用来修改规则
    config.module
      // 规则
      .rule("icons")
      // 正则，解析 .svg 格式文件
      .test(/\.svg$/)
      // 解析的文件
      .include.add(resolve("src/icons"))
      // 结束
      .end()
      // 新增了一个解析的loader
      .use("svg-sprite-loader")
      // 具体的loader
      .loader("svg-sprite-loader")
      // loader 的配置
      .options({
        symbolId: "icon-[name]"
      })
      // 结束
      .end()
    //更改浏览器标题
    config.plugin("html").tap(args => {
      args[0].title = "甘肃省烟草商业系统安全管理信息化平台"
      return args
    })
    config.plugin("define").tap(definitions => {
      Object.assign(definitions[0], {
        __VUE_OPTIONS_API__: "true",
        __VUE_PROD_DEVTOOLS__: "false",
        __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false"
      })
      return definitions
    })
  },

  css: {
    loaderOptions: {
      sass: {
        prependData: `@import "@/styles/index.scss";`
      }
    },
    extract: {
      ignoreOrder: true
    }
  },
  // qrcodeImg(ruleForm) { },
  // externals: {
  //   './cptable': 'var cptable'
  // },
  configureWebpack: {
    externals: { "./cptable": "var cptable" },
    devtool: "cheap-module-source-map",
    resolve: {
      alias: {
        "@": path.resolve(__dirname, "./src") // 确保路径正确
      }
    }
  } // 配置webpack的字段。
}
