|
@@ -26,11 +26,12 @@ export default defineConfig({
|
|
|
srcTranspiler: 'esbuild',
|
|
srcTranspiler: 'esbuild',
|
|
|
fastRefresh: true,
|
|
fastRefresh: true,
|
|
|
unocss: {
|
|
unocss: {
|
|
|
- watch: ['src/pages/**/*.{jsx,tsx,less}', 'src/components/**/*.{jsx,tsx,less}'] // 添加其他包含 unocss 的 classname 的文件目录
|
|
|
|
|
|
|
+ watch: ['src/{pages,components}/**/*.{jsx,tsx}'] // 添加其他包含 unocss 的 classname 的文件目录
|
|
|
},
|
|
},
|
|
|
// Fast Refresh 热更新
|
|
// Fast Refresh 热更新
|
|
|
theme: { 'primary-color': '#886ab5' },
|
|
theme: { 'primary-color': '#886ab5' },
|
|
|
layout: {},
|
|
layout: {},
|
|
|
|
|
+ deadCode: {}, // 检测未使用的文件和导出,仅在 build 阶段开启
|
|
|
locale: {
|
|
locale: {
|
|
|
default: 'zh-CN',
|
|
default: 'zh-CN',
|
|
|
antd: false,
|
|
antd: false,
|
|
@@ -67,35 +68,14 @@ export default defineConfig({
|
|
|
'react-dom': 'ReactDOM'
|
|
'react-dom': 'ReactDOM'
|
|
|
},
|
|
},
|
|
|
chainWebpack(config, { env }) {
|
|
chainWebpack(config, { env }) {
|
|
|
- if (env === 'production') {
|
|
|
|
|
- // config.merge({
|
|
|
|
|
- // optimization: {
|
|
|
|
|
- // minimize: true,
|
|
|
|
|
- // splitChunks: {
|
|
|
|
|
- // chunks: 'all',
|
|
|
|
|
- // minSize: 30000,
|
|
|
|
|
- // minChunks: 2,
|
|
|
|
|
- // automaticNameDelimiter: '.',
|
|
|
|
|
- // cacheGroups: {
|
|
|
|
|
- // vendor: {
|
|
|
|
|
- // name: 'vendors',
|
|
|
|
|
- // test: ({ resource }) => /[\\/]node_modules[\\/]/.test(resource),
|
|
|
|
|
- // chunks: 'all',
|
|
|
|
|
- // priority: 20
|
|
|
|
|
- // }
|
|
|
|
|
- // }
|
|
|
|
|
- // }
|
|
|
|
|
- // }
|
|
|
|
|
- // })
|
|
|
|
|
- config.plugin('compression-webpack-plugin').use(
|
|
|
|
|
- new CompressionPlugin({
|
|
|
|
|
- // filename: 文件名称,这里我们不设置,让它保持和未压缩的文件同一个名称
|
|
|
|
|
- algorithm: 'gzip', // 指定生成gzip格式
|
|
|
|
|
- test: new RegExp('\\.(' + prodGzipList.join('|') + ')$'), // 匹配哪些格式文件需要压缩
|
|
|
|
|
- threshold: 10000, //对超过10k的数据进行压缩
|
|
|
|
|
- minRatio: 0.6 // 压缩比例,值为0 ~ 1
|
|
|
|
|
- })
|
|
|
|
|
- )
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ config.plugin('compression-webpack-plugin').use(
|
|
|
|
|
+ new CompressionPlugin({
|
|
|
|
|
+ // filename: 文件名称,这里我们不设置,让它保持和未压缩的文件同一个名称
|
|
|
|
|
+ algorithm: 'gzip', // 指定生成gzip格式
|
|
|
|
|
+ test: new RegExp('\\.(' + prodGzipList.join('|') + ')$'), // 匹配哪些格式文件需要压缩
|
|
|
|
|
+ threshold: 10000, //对超过10k的数据进行压缩
|
|
|
|
|
+ minRatio: 0.6 // 压缩比例,值为0 ~ 1
|
|
|
|
|
+ })
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|