返回介绍

总体配置

发布于 2024-04-02 22:33:38 字数 2726 浏览 0 评论 0 收藏 0

// vue.config.js
const path = require('path')
const resolve = dir =path.join(__dirname, dir)
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)

module.exports = {
    publicPath: './',      // 编译后的地址,可以根据环境进行设置
    // assetsDir: 'assets',   // 静态文件目录
    // outputDir:"dist",   // 输出目录
    lintOnSave: true,      // 是否开启编译时是否不符合 eslint 提示
    productionSourceMap: !IS_PROD, // 生产环境的 source map
    parallel: require('os').cpus().length 1,
    css: {
        extract: IS_PROD, // 提取 css 代码
        sourceMap: false,
    },
    chainWebpack: config ={
        // 代码压缩
        config.optimization.minimize(true)

        // 代码分割
        if (IS_PROD) {
            config.optimization.delete('splitChunks')
        }

        // 项目目录别名 ( src 目录配置为 @ )
        config.resolve.alias
            .set('@', resolve('src'))
            .set("vue$", "vue/dist/vue.esm.js")

        return config
    },
    configureWebpack: config ={
        if (IS_PROD) {
            config.optimization = {
                splitChunks: {
                    cacheGroups: {
                        common: {
                            name: "chunk-common",
                            chunks: "initial",
                            minChunks: 2,
                            maxInitialRequests: 5,
                            minSize: 0,
                            priority: 1,
                            reuseExistingChunk: true,
                            enforce: true
                        },
                        vendors: {
                            name: "chunk-vendors",
                            test: /[\\/]node_modules[\\/]/,
                            chunks: "initial",
                            priority: 2,
                            reuseExistingChunk: true,
                            enforce: true
                        },
                        elementUI: {
                            name: "chunk-elementui",
                            test: /[\\/]node_modules[\\/]element-ui[\\/]/,
                            chunks: "all",
                            priority: 3,
                            reuseExistingChunk: true,
                            enforce: true
                        },
                        echarts: {
                            name: "chunk-echarts",
                            test: /[\\/]node_modules[\\/](vue-)?echarts[\\/]/,
                            chunks: "all",
                            priority: 4,
                            reuseExistingChunk: true,
                            enforce: true
                        }
                    }
                }
            };
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文