mirror of
				https://github.com/pure-admin/vue-pure-admin.git
				synced 2025-11-03 13:44:47 +08:00 
			
		
		
		
	perf: 优化 vite 依赖预构建在平台里的配置
				
					
				
			This commit is contained in:
		
							parent
							
								
									78820f1049
								
							
						
					
					
						commit
						aedc10a6dc
					
				@ -45,8 +45,47 @@ export default ({ command, mode }: ConfigEnv): UserConfigExport => {
 | 
			
		||||
      proxy: {}
 | 
			
		||||
    },
 | 
			
		||||
    plugins: getPluginsList(command, VITE_CDN, VITE_COMPRESSION),
 | 
			
		||||
    // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options
 | 
			
		||||
    optimizeDeps: {
 | 
			
		||||
      include: ["pinia", "vue-i18n", "lodash-es", "@vueuse/core", "dayjs"],
 | 
			
		||||
      /**
 | 
			
		||||
       * 依赖预构建,vite启动时会将下面 include 里的模块,编译成 esm 格式并缓存到 node_modules/.vite 文件夹,页面加载到对应模块时如果浏览器有缓存就读取浏览器缓存,如果没有会读取本地缓存并按需加载
 | 
			
		||||
       * 尤其当您禁用浏览器缓存时(这种情况只应该发生在调试阶段)必须将对应模块加入到 include里,否则会遇到开发环境切换页面卡顿的问题(vite 会认为它是一个新的依赖包会重新加载并强制刷新页面),因为它既无法使用浏览器缓存,又没有在本地 node_modules/.vite 里缓存
 | 
			
		||||
       * 温馨提示:如果您使用的第三方库是全局引入,也就是引入到 src/main.ts 文件里,就不需要再添加到 include 里了,因为 vite 会自动将它们缓存到 node_modules/.vite
 | 
			
		||||
       */
 | 
			
		||||
      include: [
 | 
			
		||||
        "xlsx",
 | 
			
		||||
        "dayjs",
 | 
			
		||||
        "pinia",
 | 
			
		||||
        "swiper",
 | 
			
		||||
        "intro.js",
 | 
			
		||||
        "vue-i18n",
 | 
			
		||||
        "lodash",
 | 
			
		||||
        "lodash-es",
 | 
			
		||||
        "cropperjs",
 | 
			
		||||
        "jsbarcode",
 | 
			
		||||
        "sortablejs",
 | 
			
		||||
        "swiper/vue",
 | 
			
		||||
        "@vueuse/core",
 | 
			
		||||
        "vue3-danmaku",
 | 
			
		||||
        "v-contextmenu",
 | 
			
		||||
        "vue-pdf-embed",
 | 
			
		||||
        "lodash-unified",
 | 
			
		||||
        "china-area-data",
 | 
			
		||||
        "@faker-js/faker",
 | 
			
		||||
        "vue-json-pretty",
 | 
			
		||||
        "@logicflow/core",
 | 
			
		||||
        "@pureadmin/utils",
 | 
			
		||||
        "@howdyjs/mouse-menu",
 | 
			
		||||
        "@logicflow/extension",
 | 
			
		||||
        "@amap/amap-jsapi-loader",
 | 
			
		||||
        "el-table-infinite-scroll",
 | 
			
		||||
        "@wangeditor/editor-for-vue",
 | 
			
		||||
        "xgplayer/dist/simple_player",
 | 
			
		||||
        "xgplayer/es/controls/volume",
 | 
			
		||||
        "vuedraggable/src/vuedraggable",
 | 
			
		||||
        "xgplayer/es/controls/screenShot",
 | 
			
		||||
        "xgplayer/es/controls/playbackRate"
 | 
			
		||||
      ],
 | 
			
		||||
      exclude: ["@pureadmin/theme/dist/browser-utils"]
 | 
			
		||||
    },
 | 
			
		||||
    build: {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user