Преглед изворни кода

[Pref 0000] 项目打包配置优化

houzekong пре 9 часа
родитељ
комит
6ce8e2e18c

+ 0 - 11
build/vite/plugin/index.ts

@@ -18,8 +18,6 @@ import { configSvgIconsPlugin } from './svgSprite';
 import { configServerPlugin } from './serveStatic';
 // //预编译加载插件(不支持vite3作废)
 // import OptimizationPersist from 'vite-plugin-optimize-persist';
-import { resolve } from 'path';
-import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
 import topLevelAwait from 'vite-plugin-top-level-await';
 
 export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
@@ -36,15 +34,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
     VitePluginCertificate({
       source: 'coding',
     }),
-    createSvgIconsPlugin({
-      // 指定需要缓存的图标文件夹
-      iconDirs: [resolve(process.cwd(), 'src/assets/icons')],
-      // 指定symbolId格式
-      symbolId: 'svg-[name]',
-      // 禁用压缩 否则想要修改无状态组件的stroke或者fill会影响到预设样式 例如stroke-width
-      svgoOptions: false,
-      customDomId: '__webtopo__svgpreview__icons__dom__',
-    }),
     topLevelAwait({
       // The export name of top-level await promise for each chunk module
       promiseExportName: '__tla',

+ 3 - 1
build/vite/plugin/svgSprite.ts

@@ -11,7 +11,9 @@ export function configSvgIconsPlugin(isBuild: boolean) {
     iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
     svgoOptions: isBuild,
     // default
-    symbolId: 'icon-[dir]-[name]',
+    // symbolId: 'icon-[dir]-[name]',
+    symbolId: 'svg-[name]',
+    customDomId: '__webtopo__svgpreview__icons__dom__',
   });
   return svgIconsPlugin;
 }

+ 0 - 1
package.json

@@ -60,7 +60,6 @@
     "html2canvas": "^1.4.1",
     "intro.js": "^7.2.0",
     "katex": "^0.16.25",
-    "lodash": "^4.17.21",
     "lodash-es": "^4.17.21",
     "lodash.get": "^4.4.2",
     "marked": "^17.0.1",

+ 0 - 1
src/views/vent/monitorManager/fanLocalMonitor/index.vue

@@ -591,7 +591,6 @@
   import HandlerHistoryTable from '../comment/HandlerHistoryTable.vue';
   import DeviceBaseInfo from '../comment/components/DeviceBaseInfo.vue';
   import { mountedThree, setModelType, destroy, addCssText, addText, playSmoke } from './fanLocal.threejs';
-  import lodash from 'lodash';
   import { getTableList, list, autoAdjust } from '/@/views/vent/monitorManager/fanLocalMonitor/fanLocal.api';
   import { list as baseList } from '../../deviceManager/fanTabel/fan.api';
   import { echatsOption, chartsColumnsZDKZ, getModelComponent, GAS_DISCHARGE_DEFAULT_CONFIG } from './fanLocal.data';

+ 6 - 2
vite.config.ts

@@ -89,12 +89,16 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
             'codemirror-vendor': ['codemirror'],
             //'emoji-mart-vue-fast': ['emoji-mart-vue-fast'],
             // 'jeecg-online-vendor': ['@jeecg/online'],
-            // 将 Lodash 库的代码单独打包
+            // 将 Lodash 库的代码单独打包 (lodash 已废弃,仅保留 lodash-es)
             'lodash-es-vendor': ['lodash-es'],
             'html2canvas-vendor': ['html2canvas'],
             // vue vue-router合并打包
             vue: ['vue', 'vue-router'],
             'cron-parser-vendor': ['cron-parser'],
+            // MiniChat 重型依赖分包——Office 预览
+            'office-preview': ['@vue-office/pdf', '@vue-office/docx', '@vue-office/excel'],
+            // MiniChat 重型依赖分包——Markdown/LaTeX/代码高亮
+            'markdown-vendor': ['marked', 'katex', 'highlight.js'],
           },
         },
       },
@@ -102,7 +106,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
       // 关闭brotliSize显示可以稍微减少打包时间
       reportCompressedSize: false,
       // 提高超大静态资源警告大小
-      chunkSizeWarningLimit: 2000,
+      chunkSizeWarningLimit: 2500,
     },
     esbuild: {
       //清除全局的console.log和debug