@@ -21,56 +21,76 @@ export default (conf: Configuration, env: 'production' | 'development', options:
21
21
VERSION : JSON . stringify ( pkg . version ) ,
22
22
} ) ) ;
23
23
24
- // conf.optimization = {
25
- // ...conf.optimization,
26
- // splitChunks: {
27
- // chunks: 'all', // async对异步引入的代码分割 initial 对同步引入代码分割 all对同步异步引入的分割都开启
28
- // minSize: 30000, // 字节 引入的文件大于30kb才进行分割
29
- // maxSize: 0, // 文件的最大尺寸,优先级:maxInitialRequest/maxAsyncRequests < maxSize < minSize,需要注意的是这个如果配置了,umi.js 就可能被拆开,最后构建出来的 chunkMap 中可能就找不到 umi.js 了
30
- // minChunks: 1, // 模块至少使用次数
31
- // maxAsyncRequests: 30, // 同时加载的模块数量最多是_个,只分割出同时引入的前_个文件(按需加载模块)
32
- // maxInitialRequests: 25, // 首页加载的时候引入的文件最多 _ 个(加载初始页面)
33
- // automaticNameDelimiter: '~', // 缓存组和生成文件名称之间的连接符
34
- // name: true, // 缓存组里面的 filename 生效,覆盖默认命名
35
- // cacheGroups: {
36
- // markdown_preview: {
37
- // name: 'vendors-markdown-preview',
38
- // chunks: 'all',
39
- // test: /[\\/]node_modules[\\/](@uiw\/react-markdown-preview|codemirror)[\\/]/,
40
- // priority: -2,
41
- // },
42
- // uiwjs: {
43
- // name: 'vendors-uiwjs',
44
- // chunks: 'all',
45
- // test: /[\\/]node_modules[\\/]@uiw\/(copy-to-clipboard|formatter|icons|react-affix|react-alert|react-avatar|react-back-top|react-badge|react-breadcrumb|react-button|react-button-group|react-calendar|react-card|react-checkbox|react-codemirror|react-collapse|react-copy-to-clipboard|react-date-input|react-date-picker|react-descriptions|react-divider|react-drawer|react-dropdown|react-file-input|react-form|react-github-corners|react-grid|react-icon|react-input|react-layout|react-list|react-loader|react-menu|react-message|react-modal|react-month-picker|react-notify|react-overlay|react-overlay-trigger|react-pagination|react-pin-code|react-popover|react-portal|react-progress|react-radio|react-rate|react-search-select|react-select|react-slider|react-split|react-steps|react-switch|react-table|react-tabs|react-tag|react-textarea|react-time-picker|react-tooltip|react-tree|react-tree-checked|reset.css|utils)[\\/]/,
46
- // priority: -4, // 优先级,先打包到哪个组里面,值越大,优先级越高
47
- // },
48
- // react: {
49
- // name: 'vendors-react',
50
- // chunks: 'all',
51
- // test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
52
- // priority: -5,
53
- // },
54
- // babel_standalone: {
55
- // name: 'vendors-standalone',
56
- // chunks: 'all',
57
- // test: /[\\/]node_modules[\\/](@babel\/standalone)[\\/]/,
58
- // priority: -5,
59
- // },
60
- // prismjs: {
61
- // test: /[\\/]node_modules[\\/](prismjs)[\\/]/,
62
- // name: 'prismjs-vendor',
63
- // chunks: 'async',
64
- // },
65
- // babel_runtime: {
66
- // name: 'vendors-runtime',
67
- // chunks: 'all',
68
- // test: /[\\/]node_modules[\\/](@babel\/runtime|@babel\/plugin-transform-classes|babel-plugin-transform-remove-imports)[\\/]/,
69
- // priority: -5,
70
- // },
71
- // }
72
- // }
73
- // }
24
+ conf . module ! . exprContextCritical = false ;
25
+
26
+ conf . optimization = {
27
+ ...conf . optimization ,
28
+ splitChunks : {
29
+ chunks : 'all' , // async对异步引入的代码分割 initial 对同步引入代码分割 all对同步异步引入的分割都开启
30
+ minSize : 30000 , // 字节 引入的文件大于30kb才进行分割
31
+ maxSize : 0 , // 文件的最大尺寸,优先级:maxInitialRequest/maxAsyncRequests < maxSize < minSize,需要注意的是这个如果配置了,umi.js 就可能被拆开,最后构建出来的 chunkMap 中可能就找不到 umi.js 了
32
+ minChunks : 1 , // 模块至少使用次数
33
+ maxAsyncRequests : 30 , // 同时加载的模块数量最多是_个,只分割出同时引入的前_个文件(按需加载模块)
34
+ maxInitialRequests : 25 , // 首页加载的时候引入的文件最多 _ 个(加载初始页面)
35
+ automaticNameDelimiter : '~' , // 缓存组和生成文件名称之间的连接符
36
+ name : true , // 缓存组里面的 filename 生效,覆盖默认命名
37
+ cacheGroups : {
38
+ markdown_preview : {
39
+ name : 'vendors-markdown-preview' ,
40
+ chunks : 'all' ,
41
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( @ u i w \/ r e a c t - m a r k d o w n - p r e v i e w ) [ \\ / ] / ,
42
+ priority : - 2 ,
43
+ } ,
44
+ codemirror : {
45
+ name : 'vendors-codemirror' ,
46
+ chunks : 'all' ,
47
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( @ c o d e m i r r o r ) [ \\ / ] / ,
48
+ priority : - 2 ,
49
+ } ,
50
+ refractor : {
51
+ name : 'vendors-refractor' ,
52
+ chunks : 'all' ,
53
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( r e f r a c t o r ) [ \\ / ] / ,
54
+ priority : - 2 ,
55
+ } ,
56
+ uiwjs : {
57
+ name : 'vendors-uiwjs' ,
58
+ chunks : 'all' ,
59
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] @ u i w \/ ( c o p y - t o - c l i p b o a r d | f o r m a t t e r | i c o n s | r e a c t - a f f i x | r e a c t - a l e r t | r e a c t - a v a t a r | r e a c t - b a c k - t o p | r e a c t - b a d g e | r e a c t - b r e a d c r u m b | r e a c t - b u t t o n | r e a c t - b u t t o n - g r o u p | r e a c t - c a l e n d a r | r e a c t - c a r d | r e a c t - c h e c k b o x | r e a c t - c o d e m i r r o r | r e a c t - c o l l a p s e | r e a c t - c o p y - t o - c l i p b o a r d | r e a c t - d a t e - i n p u t | r e a c t - d a t e - p i c k e r | r e a c t - d e s c r i p t i o n s | r e a c t - d i v i d e r | r e a c t - d r a w e r | r e a c t - d r o p d o w n | r e a c t - f i l e - i n p u t | r e a c t - f o r m | r e a c t - g i t h u b - c o r n e r s | r e a c t - g r i d | r e a c t - i c o n | r e a c t - i n p u t | r e a c t - l a y o u t | r e a c t - l i s t | r e a c t - l o a d e r | r e a c t - m e n u | r e a c t - m e s s a g e | r e a c t - m o d a l | r e a c t - m o n t h - p i c k e r | r e a c t - n o t i f y | r e a c t - o v e r l a y | r e a c t - o v e r l a y - t r i g g e r | r e a c t - p a g i n a t i o n | r e a c t - p i n - c o d e | r e a c t - p o p o v e r | r e a c t - p o r t a l | r e a c t - p r o g r e s s | r e a c t - r a d i o | r e a c t - r a t e | r e a c t - s e a r c h - s e l e c t | r e a c t - s e l e c t | r e a c t - s l i d e r | r e a c t - s p l i t | r e a c t - s t e p s | r e a c t - s w i t c h | r e a c t - t a b l e | r e a c t - t a b s | r e a c t - t a g | r e a c t - t e x t a r e a | r e a c t - t i m e - p i c k e r | r e a c t - t o o l t i p | r e a c t - t r e e | r e a c t - t r e e - c h e c k e d | r e s e t .c s s | u t i l s ) [ \\ / ] / ,
60
+ priority : - 4 , // 优先级,先打包到哪个组里面,值越大,优先级越高
61
+ } ,
62
+ react : {
63
+ name : 'vendors-react' ,
64
+ chunks : 'all' ,
65
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( r e a c t | r e a c t - d o m ) [ \\ / ] / ,
66
+ priority : - 5 ,
67
+ } ,
68
+ babel_standalone : {
69
+ name : 'vendors-standalone' ,
70
+ chunks : 'all' ,
71
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( @ b a b e l \/ s t a n d a l o n e ) [ \\ / ] / ,
72
+ priority : - 2 ,
73
+ } ,
74
+ babel_vendors : {
75
+ name : 'babel_vendors' ,
76
+ chunks : 'all' ,
77
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( @ b a b e l ) [ \\ / ] / ,
78
+ priority : - 5 ,
79
+ } ,
80
+ prismjs : {
81
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( p r i s m j s ) [ \\ / ] / ,
82
+ name : 'prismjs-vendor' ,
83
+ chunks : 'async' ,
84
+ } ,
85
+ babel_runtime : {
86
+ name : 'vendors-runtime' ,
87
+ chunks : 'all' ,
88
+ test : / [ \\ / ] n o d e _ m o d u l e s [ \\ / ] ( @ b a b e l \/ r u n t i m e | @ b a b e l \/ p l u g i n - t r a n s f o r m - c l a s s e s | b a b e l - p l u g i n - t r a n s f o r m - r e m o v e - i m p o r t s ) [ \\ / ] / ,
89
+ priority : - 5 ,
90
+ } ,
91
+ }
92
+ }
93
+ }
74
94
75
95
if ( env === 'production' ) {
76
96
conf . output = { ...conf . output , publicPath : './' } ;
0 commit comments