const path = require("path"); function resolve(dir) { return path.join(__dirname,dir); } /** @type {import('webpack').Configuration} */ module.exports = { publicPath: "./", // 默认为'/' // 将构建好的文件输出到哪里,本司要求 outputDir: "dist/static", // 放置生成的静态资源(js、css、img、fonts)的目录。 assetsDir: "static", // 指定生成的 index.html 的输出路径 indexPath: "index.html", // 是否使用包含运行时编译器的 Vue 构建版本。 runtimeCompiler: false, transpileDependencies: [], // 如果你不需要生产环境的 source map productionSourceMap: false, // 配置css css: { // 是否使用css分离插件 ExtractTextPlugin extract: true, sourceMap: true, // css预设器配置项 // loaderOptions: { // postcss: { // plugins: [ // require("postcss-px2rem")({ // remUnit: 100, // }), // ], // }, // }, // 启用 CSS modules for all css / pre-processor files. modules: false, }, // 是一个函数,允许对内部的 webpack 配置进行更细粒度的修改。 chainWebpack: (config) => { // 配置别名 config.resolve.alias .set("@", resolve("src")) .set("@assets", resolve("src/assets")) .set("@components", resolve("src/components")) .set("@views", resolve("src/views")); config.optimization.minimizer("terser").tap((args) => { // 去除生产环境console args[0].terserOptions.compress.drop_console = true; return args; }); }, // 是否为 Babel 或 TypeScript 使用 thread-loader。该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建。 parallel: require("os").cpus().length > 1, devServer: { host: "0.0.0.0", port: 9090, // 端口号 disableHostCheck: true, // 配置多个代理 // proxy: { // "/api": { // target: "https://www.mock.com", // ws: true, // 代理的WebSockets // changeOrigin: true, // 允许websockets跨域 // pathRewrite: { // "^/api": "", // }, // }, // }, }, };