lanjianrong hace 4 años
padre
commit
65b39c29e9
Se han modificado 3 ficheros con 116 adiciones y 178 borrados
  1. 116 32
      config/config.js
  2. 0 2
      package.json
  3. 0 144
      pnpm-lock.yaml

+ 116 - 32
config/config.js

@@ -90,46 +90,130 @@ export default defineConfig({
       '@arco-design/web-react'
     ]
   ],
+  chunks: ['vendors', 'umi'],
   chainWebpack(config) {
     config.plugin('windicss').use(windicss)
     config.plugin('antd-dayjs-webpack-plugin').use(AntdDayjsWebpackPlugin)
 
-    if (REACT_APP_ENV === 'prod') {
-      config.merge({
-        optimization: {
-          minimize: true,
-          splitChunks: {
-            chunks: 'async',
-            minSize: 30000,
-            minChunks: 2,
-            automaticNameDelimiter: '.',
-            cacheGroups: {
-              vendor: {
-                name: 'vendors',
-                test: /^.*node_modules[\\/](!lodash|antd).*$/,
-                chunks: 'all',
-                priority: 10
+    // if (REACT_APP_ENV === 'prod') {
+    config.merge({
+      optimization: {
+        minimize: true,
+        splitChunks: {
+          chunks: 'async',
+          minSize: 30000,
+          minChunks: 3,
+          automaticNameDelimiter: '.',
+          cacheGroups: {
+            react: {
+              name: 'react',
+              priority: 10,
+              test: /[\\/]node_modules[\\/](react|react-dom|react-dom-router)[\\/]/
+            },
+            vendor: {
+              name: 'vendors',
+              test({ resource }) {
+                return /[\\/]node_modules[\\/]/.test(resource)
               },
-              antd: {
-                name: 'antd',
-                test: /[\\/]node_modules[\\/]antd[\\/]/,
-                chunks: 'all',
-                priority: 9
-              }
+              priority: 10
+            },
+            antd: {
+              name: 'antd',
+              test: /[\\/]node_modules[\\/]antd/,
+              chunks: 'all',
+              priority: 9
+            },
+            chart: {
+              name: 'chart',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@ant-design[\\/]charts/,
+              priority: 11
+            },
+            icons: {
+              name: 'icons',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@ant-design[\\/]icons/,
+              priority: 10
+            },
+            'pro-table': {
+              name: 'pro-table',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@ant-design[\\/]pro-table/,
+              priority: -1
+            },
+            'pro-layout': {
+              name: 'pro-layout',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@ant-design[\\/]pro-layout/,
+              priority: -1
+            },
+            'pro-form': {
+              name: 'pro-form',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@ant-design[\\/]pro-form/,
+              priority: 10
+            },
+            'icon-park': {
+              name: 'icon-park',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@icon-park[\\/]react/,
+              priority: 10
+            },
+            'arco-design': {
+              name: 'arco-design',
+              chunks: 'all',
+              test: /[\\/]node_modules[\\/]@arco-design[\\/]web-react/,
+              priority: 11
+            },
+            lodash: {
+              name: 'lodash',
+              test: /[\\/]node_modules[\\/]lodash-es[\\/]/,
+              chunks: 'all',
+              priority: -2
+            },
+            jsdk: {
+              name: 'jsdk',
+              chunks: 'initial',
+              test: /[\\/]node_modules[\\/](dayjs|react-copy-to-clipboard|react-infinite-scroll-component)[\\/]/,
+              priority: 11
+            },
+            markdown: {
+              name: 'markdown',
+              test: /[\\/]node_modules[\\/]react-markdown/,
+              priority: 12
+            },
+            vditor: {
+              name: 'vditor',
+              test: /[\\/]node_modules[\\/]vditor[\\/]/,
+              priority: 12
+            },
+            'async-commons': {
+              // 其余异步加载包
+              chunks: 'async',
+              minChunks: 2,
+              name: 'async-commons',
+              priority: 9
+            },
+            default: {
+              name: 'default',
+              minChunks: 1,
+              priority: -1,
+              reuseExistingChunk: true
             }
           }
         }
-      })
-      config.plugin('compression-webpack-plugin').use(
-        new CompressionWebpackPlugin({
-          // filename: 文件名称,这里我们不设置,让它保持和未压缩的文件同一个名称
-          algorithm: 'gzip', // 指定生成gzip格式
-          test: new RegExp('\\.(' + prodGzipList.join('|') + ')$'), // 匹配哪些格式文件需要压缩
-          threshold: 5000, //对超过10k的数据进行压缩
-          minRatio: 0.6 // 压缩比例,值为0 ~ 1
-        })
-      )
-    }
+      }
+    })
+    // config.plugin('compression-webpack-plugin').use(
+    //   new CompressionWebpackPlugin({
+    //     // filename: 文件名称,这里我们不设置,让它保持和未压缩的文件同一个名称
+    //     algorithm: 'gzip', // 指定生成gzip格式
+    //     test: new RegExp('\\.(' + prodGzipList.join('|') + ')$'), // 匹配哪些格式文件需要压缩
+    //     threshold: 5000, //对超过10k的数据进行压缩
+    //     minRatio: 0.6 // 压缩比例,值为0 ~ 1
+    //   })
+    // )
+    // }
     //过滤掉momnet的那些不使用的国际化文件
     // config
     //   .plugin('replace')

+ 0 - 2
package.json

@@ -49,7 +49,6 @@
   "dependencies": {
     "@ant-design/charts": "1.3.2",
     "@ant-design/icons": "^4.0.0",
-    "@ant-design/pro-descriptions": "^1.0.19",
     "@ant-design/pro-form": "1.42.1",
     "@ant-design/pro-layout": "6.19.3",
     "@ant-design/pro-table": "2.60.0",
@@ -62,7 +61,6 @@
     "classnames": "^2.2.6",
     "crypto-js": "^4.0.0",
     "dayjs": "^1.10.4",
-    "install": "^0.13.0",
     "lodash-es": "^4.17.21",
     "omit.js": "^2.0.2",
     "qs": "^6.9.4",

+ 0 - 144
pnpm-lock.yaml

@@ -4,7 +4,6 @@ specifiers:
   '@ant-design/charts': 1.3.2
   '@ant-design/icons': ^4.0.0
   '@ant-design/pro-cli': ^1.0.18
-  '@ant-design/pro-descriptions': ^1.0.19
   '@ant-design/pro-form': 1.42.1
   '@ant-design/pro-layout': 6.19.3
   '@ant-design/pro-table': 2.60.0
@@ -47,7 +46,6 @@ specifiers:
   eslint: ^7.18.0
   express: ^4.17.1
   gh-pages: ^3.0.0
-  install: ^0.13.0
   lint-staged: ^10.0.0
   lodash-es: ^4.17.21
   omit.js: ^2.0.2
@@ -72,7 +70,6 @@ specifiers:
 dependencies:
   '@ant-design/charts': registry.npmmirror.com/@ant-design/charts/1.3.2_373eca43d056663df07a90280dddb71f
   '@ant-design/icons': registry.npmmirror.com/@ant-design/icons/4.7.0_react-dom@17.0.2+react@17.0.2
-  '@ant-design/pro-descriptions': registry.npmmirror.com/@ant-design/pro-descriptions/1.10.44_d2e6cd6486096bf4658597cbfae6749a
   '@ant-design/pro-form': registry.npmmirror.com/@ant-design/pro-form/1.42.1_d2e6cd6486096bf4658597cbfae6749a
   '@ant-design/pro-layout': registry.npmmirror.com/@ant-design/pro-layout/6.19.3_d2e6cd6486096bf4658597cbfae6749a
   '@ant-design/pro-table': registry.npmmirror.com/@ant-design/pro-table/2.60.0_d2e6cd6486096bf4658597cbfae6749a
@@ -85,7 +82,6 @@ dependencies:
   classnames: registry.npmmirror.com/classnames/2.3.1
   crypto-js: registry.npmmirror.com/crypto-js/4.1.1
   dayjs: registry.npmmirror.com/dayjs/1.10.7
-  install: registry.npmmirror.com/install/0.13.0
   lodash-es: registry.npmmirror.com/lodash-es/4.17.21
   omit.js: registry.npmmirror.com/omit.js/2.0.2
   qs: registry.npmmirror.com/qs/6.10.3
@@ -805,29 +801,6 @@ packages:
       - supports-color
     dev: true
 
-  registry.npmmirror.com/@ant-design/pro-descriptions/1.10.44_d2e6cd6486096bf4658597cbfae6749a:
-    resolution: {integrity: sha512-nKqGwBd1Cj6Oo9bfF4O5MNMmGU7uusbPeBJnZkwOnHp8Jp1A64f/K0cU73BK077bncsUASwhfFpMe71RJkQLHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-descriptions/-/pro-descriptions-1.10.44.tgz}
-    id: registry.npmmirror.com/@ant-design/pro-descriptions/1.10.44
-    name: '@ant-design/pro-descriptions'
-    version: 1.10.44
-    peerDependencies:
-      antd: '>=4.18.0'
-      react: '>=16.9.0'
-    dependencies:
-      '@ant-design/pro-field': registry.npmmirror.com/@ant-design/pro-field/1.31.17_d2e6cd6486096bf4658597cbfae6749a
-      '@ant-design/pro-form': registry.npmmirror.com/@ant-design/pro-form/1.53.7_d2e6cd6486096bf4658597cbfae6749a
-      '@ant-design/pro-skeleton': registry.npmmirror.com/@ant-design/pro-skeleton/1.0.5_antd@4.18.5+react@17.0.2
-      '@ant-design/pro-utils': registry.npmmirror.com/@ant-design/pro-utils/1.34.5_d2e6cd6486096bf4658597cbfae6749a
-      '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.2
-      antd: registry.npmmirror.com/antd/4.18.5_react-dom@17.0.2+react@17.0.2
-      rc-util: registry.npmmirror.com/rc-util/5.18.1_react-dom@17.0.2+react@17.0.2
-      react: registry.npmmirror.com/react/17.0.2
-      use-json-comparison: registry.npmmirror.com/use-json-comparison/1.0.6_react@17.0.2
-    transitivePeerDependencies:
-      - rc-field-form
-      - react-dom
-    dev: false
-
   registry.npmmirror.com/@ant-design/pro-field/1.22.5_d2e6cd6486096bf4658597cbfae6749a:
     resolution: {integrity: sha512-PLLuhnkn9LTnn39IPbd/+Aby88PfQu+xfiMriNR7I1v1795kHw3qj1no113RYXziV+uX67r6waeULPqxYiKAIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-field/-/pro-field-1.22.5.tgz}
     id: registry.npmmirror.com/@ant-design/pro-field/1.22.5
@@ -879,32 +852,6 @@ packages:
       - react-dom
     dev: false
 
-  registry.npmmirror.com/@ant-design/pro-field/1.31.17_d2e6cd6486096bf4658597cbfae6749a:
-    resolution: {integrity: sha512-BzHGCN5WwwW3R28P/shBee0+vjxY7ywI0M/87b4HcLG0zmflUday8shRQa/Jspr3t30xU9/S88a2hr3eKXn8Tg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-field/-/pro-field-1.31.17.tgz}
-    id: registry.npmmirror.com/@ant-design/pro-field/1.31.17
-    name: '@ant-design/pro-field'
-    version: 1.31.17
-    peerDependencies:
-      antd: '>=4.18.0'
-      react: '>=16.9.0'
-    dependencies:
-      '@ant-design/icons': registry.npmmirror.com/@ant-design/icons/4.7.0_react-dom@17.0.2+react@17.0.2
-      '@ant-design/pro-provider': registry.npmmirror.com/@ant-design/pro-provider/1.5.8_d2e6cd6486096bf4658597cbfae6749a
-      '@ant-design/pro-utils': registry.npmmirror.com/@ant-design/pro-utils/1.34.5_d2e6cd6486096bf4658597cbfae6749a
-      '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.2
-      antd: registry.npmmirror.com/antd/4.18.5_react-dom@17.0.2+react@17.0.2
-      classnames: registry.npmmirror.com/classnames/2.3.1
-      lodash.tonumber: registry.npmmirror.com/lodash.tonumber/4.0.3
-      moment: registry.npmmirror.com/moment/2.29.1
-      omit.js: registry.npmmirror.com/omit.js/2.0.2
-      rc-util: registry.npmmirror.com/rc-util/5.18.1_react-dom@17.0.2+react@17.0.2
-      react: registry.npmmirror.com/react/17.0.2
-      react-color: registry.npmmirror.com/react-color/2.19.3_react@17.0.2
-      swr: registry.npmmirror.com/swr/1.2.2_react@17.0.2
-    transitivePeerDependencies:
-      - react-dom
-    dev: false
-
   registry.npmmirror.com/@ant-design/pro-form/1.42.1_d2e6cd6486096bf4658597cbfae6749a:
     resolution: {integrity: sha512-cPZDygmql1zPXFzBpTeyNDpgMUzpY+2uD1cHhqGopsH2N6jIoT/dscGfXmgru1KhBJ0YtelhuV5Rsr/5KBj2Eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-form/-/pro-form-1.42.1.tgz}
     id: registry.npmmirror.com/@ant-design/pro-form/1.42.1
@@ -958,34 +905,6 @@ packages:
       use-media-antd-query: registry.npmmirror.com/use-media-antd-query/1.1.0_react@17.0.2
     dev: false
 
-  registry.npmmirror.com/@ant-design/pro-form/1.53.7_d2e6cd6486096bf4658597cbfae6749a:
-    resolution: {integrity: sha512-qMrLrh4E5IZgUxpbBTku7OD7YLkQM6Jgc8X0PH4fq0MEDpvJtapm0BQh7BU5wgPjdQFLwPqd7NhUnOAHfQZ+eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-form/-/pro-form-1.53.7.tgz}
-    id: registry.npmmirror.com/@ant-design/pro-form/1.53.7
-    name: '@ant-design/pro-form'
-    version: 1.53.7
-    peerDependencies:
-      antd: '>=4.18.0'
-      rc-field-form: ^1.22.0
-      react: '>=16.9.0'
-      react-dom: '>=16.9.0'
-    dependencies:
-      '@ant-design/icons': registry.npmmirror.com/@ant-design/icons/4.7.0_react-dom@17.0.2+react@17.0.2
-      '@ant-design/pro-field': registry.npmmirror.com/@ant-design/pro-field/1.31.17_d2e6cd6486096bf4658597cbfae6749a
-      '@ant-design/pro-provider': registry.npmmirror.com/@ant-design/pro-provider/1.5.8_d2e6cd6486096bf4658597cbfae6749a
-      '@ant-design/pro-utils': registry.npmmirror.com/@ant-design/pro-utils/1.34.5_d2e6cd6486096bf4658597cbfae6749a
-      '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.2
-      '@umijs/use-params': registry.npmmirror.com/@umijs/use-params/1.0.9_react@17.0.2
-      antd: registry.npmmirror.com/antd/4.18.5_react-dom@17.0.2+react@17.0.2
-      classnames: registry.npmmirror.com/classnames/2.3.1
-      omit.js: registry.npmmirror.com/omit.js/2.0.2
-      rc-resize-observer: registry.npmmirror.com/rc-resize-observer/1.2.0_react-dom@17.0.2+react@17.0.2
-      rc-util: registry.npmmirror.com/rc-util/5.18.1_react-dom@17.0.2+react@17.0.2
-      react: registry.npmmirror.com/react/17.0.2
-      react-dom: registry.npmmirror.com/react-dom/17.0.2_react@17.0.2
-      use-json-comparison: registry.npmmirror.com/use-json-comparison/1.0.6_react@17.0.2
-      use-media-antd-query: registry.npmmirror.com/use-media-antd-query/1.1.0_react@17.0.2
-    dev: false
-
   registry.npmmirror.com/@ant-design/pro-layout/6.19.3_d2e6cd6486096bf4658597cbfae6749a:
     resolution: {integrity: sha512-xjTmb0BO7GU/k7DcqkNdAHqSt3I/kGxEbqUfUwgJynB/O6JyrhBu/J5kBXyPTbhw8M64fSG2u9193v4zwb5MAA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-layout/-/pro-layout-6.19.3.tgz}
     id: registry.npmmirror.com/@ant-design/pro-layout/6.19.3
@@ -1066,39 +985,6 @@ packages:
       - react-dom
     dev: false
 
-  registry.npmmirror.com/@ant-design/pro-provider/1.5.8_d2e6cd6486096bf4658597cbfae6749a:
-    resolution: {integrity: sha512-mSYvklrgZ6BycgkW0qEpMTnROBX2M2bHKRXefDCiPeCyFvA0A2C8FMt5i6jCmeDl5nT6OKkowA0V95xVLvLlQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-provider/-/pro-provider-1.5.8.tgz}
-    id: registry.npmmirror.com/@ant-design/pro-provider/1.5.8
-    name: '@ant-design/pro-provider'
-    version: 1.5.8
-    peerDependencies:
-      antd: '>=4.18.0'
-      react: '>=16.9.0'
-    dependencies:
-      '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.2
-      antd: registry.npmmirror.com/antd/4.18.5_react-dom@17.0.2+react@17.0.2
-      rc-util: registry.npmmirror.com/rc-util/5.18.1_react-dom@17.0.2+react@17.0.2
-      react: registry.npmmirror.com/react/17.0.2
-      swr: registry.npmmirror.com/swr/1.2.2_react@17.0.2
-    transitivePeerDependencies:
-      - react-dom
-    dev: false
-
-  registry.npmmirror.com/@ant-design/pro-skeleton/1.0.5_antd@4.18.5+react@17.0.2:
-    resolution: {integrity: sha512-98Fy6zC9Dv0dPNOEZQSK+yOzIiP6NpduikbKrfrEkD6CFwYaO2cy6j9aaaf8ov7NdUE9rE7Txk1e+xPqnb/0SQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-skeleton/-/pro-skeleton-1.0.5.tgz}
-    id: registry.npmmirror.com/@ant-design/pro-skeleton/1.0.5
-    name: '@ant-design/pro-skeleton'
-    version: 1.0.5
-    peerDependencies:
-      antd: '>=4.18.0'
-      react: '>=16.9.0'
-    dependencies:
-      '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.2
-      antd: registry.npmmirror.com/antd/4.18.5_react-dom@17.0.2+react@17.0.2
-      react: registry.npmmirror.com/react/17.0.2
-      use-media-antd-query: registry.npmmirror.com/use-media-antd-query/1.1.0_react@17.0.2
-    dev: false
-
   registry.npmmirror.com/@ant-design/pro-table/2.60.0_d2e6cd6486096bf4658597cbfae6749a:
     resolution: {integrity: sha512-LXGa4cIM4ZRTq90Wp1a7K/n4+B1moVPOyikLOShTE1PO4qFkQShwFTYuTjP+qT/9XBOoyT6Jsm2gqvP3efJspg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-table/-/pro-table-2.60.0.tgz}
     id: registry.npmmirror.com/@ant-design/pro-table/2.60.0
@@ -1197,29 +1083,6 @@ packages:
       swr: registry.npmmirror.com/swr/1.1.0_react@17.0.2
     dev: false
 
-  registry.npmmirror.com/@ant-design/pro-utils/1.34.5_d2e6cd6486096bf4658597cbfae6749a:
-    resolution: {integrity: sha512-JMp10ws+cXkjOUbESzfasf39hQjJ9w1/YypYqxgJM2pbDw3WrQ9uNoausp1CiVTJ+cA5oUOBNQKnTmSNUVplEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/pro-utils/-/pro-utils-1.34.5.tgz}
-    id: registry.npmmirror.com/@ant-design/pro-utils/1.34.5
-    name: '@ant-design/pro-utils'
-    version: 1.34.5
-    peerDependencies:
-      antd: '>=4.18.0'
-      react: '>=16.9.0'
-      react-dom: '>=16.9.0'
-    dependencies:
-      '@ant-design/icons': registry.npmmirror.com/@ant-design/icons/4.7.0_react-dom@17.0.2+react@17.0.2
-      '@ant-design/pro-provider': registry.npmmirror.com/@ant-design/pro-provider/1.5.8_d2e6cd6486096bf4658597cbfae6749a
-      '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.2
-      antd: registry.npmmirror.com/antd/4.18.5_react-dom@17.0.2+react@17.0.2
-      classnames: registry.npmmirror.com/classnames/2.3.1
-      moment: registry.npmmirror.com/moment/2.29.1
-      rc-util: registry.npmmirror.com/rc-util/5.18.1_react-dom@17.0.2+react@17.0.2
-      react: registry.npmmirror.com/react/17.0.2
-      react-dom: registry.npmmirror.com/react-dom/17.0.2_react@17.0.2
-      react-sortable-hoc: registry.npmmirror.com/react-sortable-hoc/2.0.0_react-dom@17.0.2+react@17.0.2
-      swr: registry.npmmirror.com/swr/1.2.2_react@17.0.2
-    dev: false
-
   registry.npmmirror.com/@ant-design/react-slick/0.28.4_react@17.0.2:
     resolution: {integrity: sha512-j9eAHTn7GxbXUFNknJoHS2ceAsqrQi2j8XykjZE1IXCD8kJF+t28EvhBLniDpbOsBk/3kjalnhriTfZcjBHNqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-0.28.4.tgz}
     id: registry.npmmirror.com/@ant-design/react-slick/0.28.4
@@ -12442,13 +12305,6 @@ packages:
     version: 2.0.0
     dev: false
 
-  registry.npmmirror.com/install/0.13.0:
-    resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/install/-/install-0.13.0.tgz}
-    name: install
-    version: 0.13.0
-    engines: {node: '>= 0.10'}
-    dev: false
-
   registry.npmmirror.com/internal-slot/1.0.3:
     resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.3.tgz}
     name: internal-slot