vue.config多頁配置


const CompressionWebpackPlugin = require('compression-webpack-plugin')
const path = require('path');
const glob = require('glob');
const fs = require('fs')

// 是否使用gzip
const productionGzip = true;
// 需要gzip壓縮的文件后綴
const productionGzipExtensions = ['js', 'css'];
// CDN外鏈,會插入到index.html中

// 統(tǒng)一配置多頁
function muliti() {
    const pages = {};
    glob.sync('./src/entries/**/main.js').forEach(path => {
        const chunk = path.split('./src/entries/')[1].split('/main.js')[0];//設(shè)置名稱
        pages[chunk] = {
            entry: `src/entries/${chunk}/main.js`,
            template: `public/${chunk}.html`,
            filename: `${chunk}.html`,
            chunks: ['chunk-common', `${chunk}`]
        }

    });
    console.log('構(gòu)建開始啦......................');
    return pages
}


module.exports = {
    // baseUrl: './', // 基本路徑
    outputDir: 'dist', // 輸出文件目錄
    lintOnSave: false,
    pages: muliti(),
    // 配置merge
    configureWebpack: config => {
        //開啟vs-code Debugger for Chrome
        config.devtool = 'source-map';
        config.optimization = {
            splitChunks: {
                cacheGroups: {
                    vendor: {
                        test: /[\\/]node_modules[\\/]/,
                        name(module) {
                            // get the name. E.g. node_modules/packageName/not/this/part.js
                            // or node_modules/packageName
                            const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1];
                            // npm package names are URL-safe, but some servers don't like @ symbols
                            return `fanwenqiang.${packageName.replace('@', '')}`;
                        }
                    },
                }
            }
        };
        //Gzip壓縮
    },
    runtimeCompiler: true,
    productionSourceMap: false, // 生產(chǎn)環(huán)境是否生成 sourceMap 文件
    devServer: {
        open: process.platform === 'darwin',
        host: '0.0.0.0',
        port: 9998,
        https: false,
        hotOnly: false,
        proxy: {
            '/a_api/*': {
                target: 'http://xxxx:4056/',
                changeOrigin: true,
                secure: false
            },
            '/arcgis/*': {
                target: 'http://xxxx:6080',
                changeOrigin: true,
                secure: false
            },
        }, // 設(shè)置代理
        before: app => { }
    },
    // 第三方插件配置
    pluginOptions: {}
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容