const path = require("path");

function resolve(dir) {
  return path.join(__dirname, dir);
}

module.exports = {
  publicPath: "./",
  chainWebpack: (config) => {
    //修改文件引入自定义路径
    config.resolve.alias.set("@", resolve("src")).set("api", resolve("/api"));
    // svg rule loader
    const svgRule = config.module.rule("svg"); // 找到svg-loader
    svgRule.uses.clear(); // 清除已有的loader, 如果不这样做会添加在此loader之后
    svgRule.exclude.add(/node_modules/); // 正则匹配排除node_modules目录
    svgRule // 添加svg新的loader处理
      .test(/\.svg$/)
      .use("svg-sprite-loader")
      .loader("svg-sprite-loader")
      .options({
        symbolId: "icon-[name]",
      });

    // 修改images loader 添加svg处理
    const imagesRule = config.module.rule("images");
    imagesRule.exclude.add(resolve("src/plugins/icon/svg"));
    config.module.rule("images").test(/\.(png|jpe?g|gif|svg)(\?.*)?$/);
  },
  css: {
    loaderOptions: {
      less: {
        additionalData: `@import "~@/assets/css/index.less";`,
      },
    },
  },
  devServer: {
    proxy: {
      "/api": {
        // CI
        // target: "http://localhost:5002",
        target: "http://39.104.87.15",
        changeOrigin: true,
        // pathRewrite: {
        //   "/api": "",
        // },
      },
    },
  },
};
