12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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": "",
- // },
- // },
- // },
- },
- };
|