text: // const path = require("path");
  // function resolve(dir) {
  //   return path.join(__dirname, ".", dir);
  // }
  // const webpack = require("webpack");
  // const IncludeAssetsPlugin = require("html-webpack-include-assets-plugin");
  // const CopyWebpackPlugin = require("copy-webpack-plugin");
  // const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
  // const CompressionWebpackPlugin = require("compression-webpack-plugin");
  
  // const ThemeColorReplacer = require("webpack-theme-color-replacer");
  // const { getThemeColors, modifyVars } = require("./src/common/theme/themeUtil");
  // const {
  //   resolveCss
  // } = require("./src/common/theme/theme-color-replacer-extend");
  
  // const isProduction = process.env.NODE_ENV === "production";
  // let glob = require("glob");
  // function getEntry(globPath) {
  //   let entries = {},
  //     basename,
  //     tmp,
  //     pathname;
  //   glob.sync(globPath).forEach(function(entry) {
  //     basename = path.basename(entry, path.extname(entry));
  //     tmp = entry.split("/").splice(-3);
  //     pathname = basename; // 正确输出js和html的路径
  //     var fileIs = glob.sync(entry + tmp[1] + ".html");
  //     if (tmp[1] === "common") {
  //       return;
  //     }
  //     entries[pathname] = {
  //       entry: "src/" + tmp[0] + "/" + tmp[1] + "/main.js",
  //       template: fileIs.length
  //         ? "src/" + tmp[0] + "/" + tmp[1] + "/" + tmp[1] + ".html"
  //         : "public/index.html",
  //       title: "",
  //       filename: tmp[1] + ".html",
  //       chunks: ["chunk-vendors", "chunk-common", pathname]
  //     };
  //   });
  //   return entries;
  // }
  // module.exports = {
  //   publicPath: process.env.BASE_URL,
  //   productionSourceMap: false,
  //   pluginOptions: {
  //     "style-resources-loader": {
  //       preProcessor: "less",
  //       patterns: [path.resolve(__dirname, "./src/assets/styles/theme.less")]
  //     }
  //   },
  //   chainWebpack: config => {
  //     config.module.rules.delete("svg");
  //     config.module
  //       .rule("svg-sprite-loader")
  //       .test(/\.svg$/)
  //       .include.add(resolve("src/assets/icons"))
  //       .end()
  //       .use("svg-sprite-loader")
  //       .loader("svg-sprite-loader")
  //       .options({
  //         symbolId: "icon-[name]"
  //       });
  
  //     // 生产环境下关闭css压缩的 colormin 项，因为此项优化与主题色替换功能冲突
  //     if (isProduction) {
  //       config.plugin("optimize-css").tap(args => {
  //         args[0].cssnanoOptions.preset[1].colormin = false;
  //         return args;
  //       });
  //     }
  //   },
  //   css: {
  //     // extract: true,
  //     loaderOptions: {
  //       less: {
  //         javascriptEnabled: true,
  //         modifyVars: modifyVars(),
  //         lessOptions: {
  //           modifyVars: modifyVars()
  //         }
  //       }
  //     }
  //   },
  //   pages: getEntry("./src/pages/**?/"),
  //   configureWebpack: config => {
  //     if (isProduction) {
  //       config.plugins.push(
  //         new UglifyJsPlugin({
  //           uglifyOptions: {
  //             compress: {
  //               drop_debugger: true,
  //               drop_console: true
  //             }
  //           },
  //           sourceMap: false,
  //           parallel: true
  //         })
  //       );
  //       config.plugins.push(
  //         new CompressionWebpackPlugin({
  //           algorithm: "gzip",
  //           test: new RegExp("\\.(" + ["js", "css"].join("|") + ")$"),
  //           threshold: 10240,
  //           minRatio: 0.8
  //         })
  //       );
  //       config.plugins.push(
  //         new webpack.optimize.LimitChunkCountPlugin({
  //           maxChunks: 5,
  //           minChunkSize: 100
  //         })
  //       );
  //     }
  //     config.plugins.push(
  //       new ThemeColorReplacer({
  //         fileName: "css/theme-colors-[contenthash:8].css",
  //         matchColors: getThemeColors(),
  //         injectCss: true,
  //         resolveCss
  //       })
  //     );
  //     return {
  //       devtool: "cheap-source-map",
  //       externals: {
  //         vue: "Vue",
  //         "vue-router": "VueRouter",
  //         moment: "moment",
  //         vuex: "Vuex",
  //         "ant-design-vue": "antd"
  //       },
  //       plugins: [
  //         new webpack.DllReferencePlugin({
  //           context: __dirname,
  //           manifest: path.resolve(__dirname, "dll", "manifest.json")
  //         }),
  //         new IncludeAssetsPlugin({
  //           assets: [
  //             {
  //               path: "dll",
  //               glob: "*.js",
  //               globPath: path.join(__dirname, "dll")
  //             }
  //           ],
  //           append: false
  //         }),
  //         new CopyWebpackPlugin([
  //           {
  //             from: path.join(__dirname, "dll"),
  //             to: path.join(__dirname, "dist", "dll")
  //           }
  //         ])
  //       ]
  //     };
  //   }
  // };
  