optimize.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. * 此文件作用于 `vite.config.ts` 的 `optimizeDeps.include` 依赖预构建配置项
  3. * 依赖预构建,`vite` 启动时会将下面 include 里的模块,编译成 esm 格式并缓存到 node_modules/.vite 文件夹,页面加载到对应模块时如果浏览器有缓存就读取浏览器缓存,如果没有会读取本地缓存并按需加载
  4. * 尤其当您禁用浏览器缓存时(这种情况只应该发生在调试阶段)必须将对应模块加入到 include里,否则会遇到开发环境切换页面卡顿的问题(vite 会认为它是一个新的依赖包会重新加载并强制刷新页面),因为它既无法使用浏览器缓存,又没有在本地 node_modules/.vite 里缓存
  5. * 温馨提示:如果您使用的第三方库是全局引入,也就是引入到 src/main.ts 文件里,就不需要再添加到 include 里了,因为 vite 会自动将它们缓存到 node_modules/.vite
  6. */
  7. const include = [
  8. "qs",
  9. "mitt",
  10. "xlsx",
  11. "dayjs",
  12. "axios",
  13. "pinia",
  14. "typeit",
  15. "swiper",
  16. "qrcode",
  17. "intro.js",
  18. "vue-i18n",
  19. "vxe-table",
  20. "vue-types",
  21. "js-cookie",
  22. "vue-tippy",
  23. "cropperjs",
  24. "jsbarcode",
  25. "pinyin-pro",
  26. "sortablejs",
  27. "swiper/vue",
  28. "mint-filter",
  29. "@vueuse/core",
  30. "vue3-danmaku",
  31. "v-contextmenu",
  32. "vue-pdf-embed",
  33. "wavesurfer.js",
  34. "swiper/modules",
  35. "china-area-data",
  36. "vue-json-pretty",
  37. "@logicflow/core",
  38. "@pureadmin/utils",
  39. "@vue-office/docx",
  40. "@vue-office/excel",
  41. "@wangeditor/editor",
  42. "responsive-storage",
  43. "plus-pro-components",
  44. "@howdyjs/mouse-menu",
  45. "@logicflow/extension",
  46. "vue-virtual-scroller",
  47. "@amap/amap-jsapi-loader",
  48. "el-table-infinite-scroll",
  49. "vue-waterfall-plugin-next",
  50. "@infectoone/vue-ganttastic",
  51. "@wangeditor/editor-for-vue",
  52. "vuedraggable/src/vuedraggable"
  53. ];
  54. /**
  55. * 在预构建中强制排除的依赖项
  56. * 温馨提示:所有以 `@iconify-icons/` 开头引入的的本地图标模块,都应该加入到下面的 `exclude` 里,因为平台推荐的使用方式是哪里需要哪里引入而且都是单个的引入,不需要预构建,直接让浏览器加载就好
  57. */
  58. const exclude = [
  59. "@iconify-icons/ep",
  60. "@iconify-icons/ri",
  61. "@pureadmin/theme/dist/browser-utils"
  62. ];
  63. export { include, exclude };