|
@@ -92,11 +92,16 @@ export default defineConfig(({ mode }) => {
|
|
|
build: {
|
|
build: {
|
|
|
outDir: 'dist',
|
|
outDir: 'dist',
|
|
|
sourcemap: !isProd,
|
|
sourcemap: !isProd,
|
|
|
- // target 由 plugin-legacy 的 targets 控制,不在此设置避免被覆盖并触发警告
|
|
|
|
|
|
|
+ // 为了处理 brotli-wasm 的引用问题,target 已改为使用 plugin-legacy 的 targets 控制
|
|
|
// target: ['es2015', 'chrome87', 'safari13', 'firefox78', 'edge88'],
|
|
// target: ['es2015', 'chrome87', 'safari13', 'firefox78', 'edge88'],
|
|
|
|
|
+ // 与 plugin-legacy targets 对齐,使 CSS 压缩/转换兼容同一批浏览器(plugin-legacy 不处理 CSS)
|
|
|
cssTarget: ['chrome87', 'safari13', 'firefox78', 'edge88'],
|
|
cssTarget: ['chrome87', 'safari13', 'firefox78', 'edge88'],
|
|
|
rollupOptions: {
|
|
rollupOptions: {
|
|
|
output: {
|
|
output: {
|
|
|
|
|
+ // 产物文件名:入口/代码块用 [name]-[hash:8].js,静态资源用 [name]-[hash:8][extname]
|
|
|
|
|
+ entryFileNames: 'assets/[name]-[hash].js',
|
|
|
|
|
+ chunkFileNames: 'assets/[name]-[hash].js',
|
|
|
|
|
+ assetFileNames: 'assets/[name]-[hash][extname]',
|
|
|
manualChunks: {
|
|
manualChunks: {
|
|
|
'react-vendor': ['react', 'react-dom', 'react-router-dom'],
|
|
'react-vendor': ['react', 'react-dom', 'react-router-dom'],
|
|
|
'antd-vendor': ['antd', '@ant-design/icons'],
|
|
'antd-vendor': ['antd', '@ant-design/icons'],
|