新增:文件系统导航面包屑
功能: - 新增 PathBreadcrumb 组件,支持路径快速跳转 - 新增 DropdownItem 通用下拉菜单组件 优化: - 版本升级流程优化(Pinia 状态管理、进度节流、完整下载验证) - 模块延迟初始化(数据库、文件系统按需启动) - API 数据格式统一(蛇形转驼峰) - CodeMirror 语言包按需动态加载 - Markdown 渲染增强(支持锚点跳转) 重构: - 迁移到 Pinia 状态管理(stores/config.ts、stores/theme.ts、stores/update.ts) - 简化 UpdatePanel、UpdateNotification、ThemeToggle 逻辑 - 优化表结构加载逻辑 清理: - 删除测试组件 index-simple.vue - 删除旧的 useTheme.ts
This commit is contained in:
@@ -1,60 +1,74 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import { resolve } from 'path'
|
||||
import AutoImport from 'unplugin-auto-import/vite'
|
||||
import Components from 'unplugin-vue-components/vite'
|
||||
import { ArcoResolver } from 'unplugin-vue-components/resolvers'
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [vue()],
|
||||
plugins: [
|
||||
vue(),
|
||||
AutoImport({
|
||||
imports: ['vue', 'vue-router'],
|
||||
dts: 'src/auto-imports.d.ts',
|
||||
}),
|
||||
Components({
|
||||
resolvers: [ArcoResolver({ sideEffect: true })],
|
||||
dts: 'src/components.d.ts',
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve(__dirname, 'src')
|
||||
}
|
||||
alias: { '@': resolve(__dirname, 'src') }
|
||||
},
|
||||
build: {
|
||||
outDir: 'dist',
|
||||
emptyOutDir: true,
|
||||
sourcemap: false, // 生产环境禁用 source map,减小打包体积
|
||||
sourcemap: false,
|
||||
minify: 'esbuild',
|
||||
cssCodeSplit: true,
|
||||
chunkSizeWarningLimit: 1000,
|
||||
esbuild: {
|
||||
target: 'es2020',
|
||||
drop: ['console', 'debugger']
|
||||
},
|
||||
rollupOptions: {
|
||||
output: {
|
||||
manualChunks: {
|
||||
'codemirror': [
|
||||
'@codemirror/view',
|
||||
'@codemirror/state',
|
||||
'@codemirror/language',
|
||||
'@codemirror/commands',
|
||||
'@codemirror/lang-javascript',
|
||||
'@codemirror/lang-java',
|
||||
'@codemirror/lang-python',
|
||||
'@codemirror/lang-html',
|
||||
'@codemirror/lang-css',
|
||||
'@codemirror/lang-markdown',
|
||||
'@codemirror/lang-sql'
|
||||
]
|
||||
}
|
||||
manualChunks: (id) => {
|
||||
if (!id.includes('node_modules')) return
|
||||
|
||||
if (id.includes('@codemirror')) {
|
||||
if (id.includes('lang-') || id.includes('legacy-modes')) {
|
||||
return 'vendor-codemirror-langs'
|
||||
}
|
||||
return 'vendor-codemirror-core'
|
||||
}
|
||||
|
||||
if (id.includes('@arco-design')) return 'vendor-arco'
|
||||
if (id.includes('mermaid')) return 'vendor-mermaid'
|
||||
if (id.includes('marked') || id.includes('highlight.js')) return 'vendor-markdown'
|
||||
if (id.includes('vue') || id.includes('pinia')) return 'vendor-vue'
|
||||
|
||||
return 'vendor'
|
||||
},
|
||||
chunkFileNames: 'assets/js/[name]-[hash].js',
|
||||
entryFileNames: 'assets/js/[name]-[hash].js',
|
||||
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]'
|
||||
}
|
||||
}
|
||||
},
|
||||
optimizeDeps: {
|
||||
include: [
|
||||
'@codemirror/view',
|
||||
'@codemirror/state',
|
||||
'@codemirror/language',
|
||||
'@codemirror/commands',
|
||||
'@codemirror/lang-javascript',
|
||||
'@codemirror/lang-java',
|
||||
'@codemirror/lang-python',
|
||||
'@codemirror/lang-html',
|
||||
'@codemirror/lang-css',
|
||||
'@codemirror/lang-markdown',
|
||||
'@codemirror/lang-sql',
|
||||
'@codemirror/legacy-modes/mode/go',
|
||||
'@codemirror/legacy-modes/mode/clike',
|
||||
'@codemirror/legacy-modes/mode/ruby',
|
||||
'@codemirror/legacy-modes/mode/rust',
|
||||
'@codemirror/legacy-modes/mode/shell',
|
||||
'@codemirror/legacy-modes/mode/yaml',
|
||||
'@codemirror/legacy-modes/mode/xml'
|
||||
'vue', 'pinia', '@arco-design/web-vue', 'marked', 'highlight.js',
|
||||
'@codemirror/view', '@codemirror/state', '@codemirror/language', '@codemirror/commands',
|
||||
'@codemirror/lang-javascript', '@codemirror/lang-json', '@codemirror/lang-yaml',
|
||||
'@codemirror/lang-html', '@codemirror/lang-css', '@codemirror/lang-markdown',
|
||||
'@codemirror/lang-sql', '@codemirror/lang-java', '@codemirror/lang-python',
|
||||
'@codemirror/lang-php', '@codemirror/lang-rust', '@codemirror/lang-go', '@codemirror/lang-cpp',
|
||||
'@codemirror/legacy-modes/mode/clike', '@codemirror/legacy-modes/mode/ruby',
|
||||
'@codemirror/legacy-modes/mode/shell', '@codemirror/legacy-modes/mode/xml'
|
||||
]
|
||||
}
|
||||
},
|
||||
cacheDir: 'node_modules/.vite'
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user