You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.7 KiB

1 year ago
/**
* 开发环境构建
*/
const { merge } = require('webpack-merge'); // webpack 配置合并函数
const common = require('./webpack.config.common.cjs'); // webpack 通用配置
const mf = require('./webpack.config.mf.cjs'); // webpack 模块联邦配置
module.exports = merge(common, mf, {
mode: 'development',
// -------------------------------------------------------------------------------------------------------------------------------
// devtool | performance | comment
// (none) | build:fastest, rebuild:fastest | Recommended choice for production builds with maximum performance.
// eval | build:fast, rebuild:fastest | Recommended choice for development builds with maximum performance.
// eval-source-map| build:slowest, rebuild:ok | Recommended choice for development builds with high quality SourceMaps.
// source-map | build:slowest, rebuild:slowest | Recommended choice for production builds with high quality SourceMaps.
// -------------------------------------------------------------------------------------------------------------------------------
devtool: 'eval-source-map',
optimization: {
minimize: false,
moduleIds: 'named',
chunkIds: 'named',
splitChunks: {
cacheGroups: {
'vue': {
name: 'vue',
test: /[\\/]node_modules[\\/](vue|vue-dompurify-html|vue-i18n|vue-router)[\\/]/,
priority: 20,
chunks: 'all',
enforce: true
},
'dnd':{
name: 'dnd',
test: /[\\/]node_modules[\\/](vue3-dnd|react-dnd-html5-backend|@vueuse[\\/]core)[\\/]/,
priority: 20,
chunks: 'all',
enforce: true
},
'quasar': {
name: 'quasar',
test: /[\\/]node_modules[\\/](quasar)[\\/]/,
priority: 20,
chunks: 'all',
enforce: true
},
'excel': {
name: 'excel',
test: /[\\/]node_modules[\\/](exceljs|luckyexcel|)[\\/]/,
priority: 20,
chunks: 'all',
enforce: true
},
'platform-core': {
name: 'platform-core',
test: /[\\/]node_modules[\\/]platform-core[\\/]/,
priority: 20,
chunks: 'all',
enforce: true
},
'view': {
name: 'view',
test: /[\\/]view[\\/]/,
priority: 20,
chunks: 'all',
enforce: true
},
'vendors': {
name: 'vendors',
test: /[\\/]node_modules[\\/]/,
chunks: 'all',
enforce: true
},
}
}
},
});