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中
// 统一配置多页
function muliti() {
const pages = {};
glob.sync('./src/entries/**/main.js').forEach(path => {
const chunk = path.split('./src/entries/')[1].split('/main.js')[0];//设置名称
pages[chunk] = {
entry: `src/entries/${chunk}/main.js`,
template: `public/${chunk}.html`,
filename: `${chunk}.html`,
chunks: ['chunk-common', `${chunk}`]
}
});
console.log('构建开始啦......................');
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, // 生产环境是否生成 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
},
}, // 设置代理
before: app => { }
},
// 第三方插件配置
pluginOptions: {}
};
vue.config多页配置
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 再项目更目录下新建vue.config.js文件,如下: 既可以改变本地启动端口 vue.config.js官网配...
- 1、 cdn、全局cdn(所有的js、css都使用cdn)2、Gzip压缩(压缩js、css)3、去掉注释、去掉c...
- 新建一个vue.config.js放在项目文件夹中webpack中文网 : https://webpack.d...
- Vue Cli 3生成的项目结构,没有build、config目录,而是使用vue.config.js来进行配置。...