5b877451eb
旧模板的 193 个文件整体删除,换成纯 Vue 3.5 + Naive UI 2.42 的树。
- 去掉 auto-import(组件与 API 全显式 import)、v-hasPerm(改 user.has('码'),全库 8 处)、
Stylelint;n-tag 的 type 统一过 utils/tag.ts 转换(Arco 色词直接透传会静默变灰)
- 图标改为构建期抽取:scripts/extract-pc-icons.py -> icons/icon-data.ts(37 个),
内网离线部署不会白屏
- 重搭后修掉 6 类"编译 / lint / typecheck 全绿、界面上就是坏的"故障:
① NGrid 的 cols 写成像素值(不是断点名 -> 永远只 1 列,工作台因此错乱)
② n-tab-pane 用 tab 属性(只渲染空注释节点,整排 tab 一个字都不显示)
③ 漏 import 被当未知自定义元素(样式整块丢) ④ .n-card__content 类名不存在
(高度链第一环失效,表格行在 DOM 里但屏幕上没有) ⑤ 填报单状态映射错位一格
⑥ 有标题的卡片没有上内边距(naive 的 padding-top 只给"内容区是长子"的卡片)
- 卡片式版面提成全局基线:styles/index.scss 的 xt-* 令牌 + .page-card / .toolbar /
.section-title,页面只引用、不再各写一套
- 品牌:改名「深学在线」,文字标换成几何标(方 = 卷宗 / 环 = 在线,不用文字字形);
index.html 的页签图标从 404 的 /favicon.ico 改指真实存在的 /favicon.svg
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
import { fileURLToPath, URL } from 'node:url'
|
||
import vue from '@vitejs/plugin-vue'
|
||
import { defineConfig, loadEnv } from 'vite'
|
||
|
||
/**
|
||
* 管理端(Vue 3 + Naive UI)构建配置。
|
||
*
|
||
* ⚠️ 与上一版(Gi Admin Pro + Arco)的差别:**没有** unplugin-auto-import /
|
||
* unplugin-vue-components / Arco 解析器。理由有两个:
|
||
* 1. 组件与 API 全部**显式 import** —— vue-tsc 看到的就是真的,
|
||
* 不依赖"生成但不一定提交/更新"的 `components.d.ts`;
|
||
* 2. 少一层构建期魔法:出问题时读代码就能定位。
|
||
*/
|
||
export default defineConfig(({ mode }) => {
|
||
const env = loadEnv(mode, process.cwd())
|
||
|
||
return {
|
||
base: env.VITE_BASE || '/',
|
||
resolve: {
|
||
alias: {
|
||
'~': fileURLToPath(new URL('./', import.meta.url)),
|
||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
||
}
|
||
},
|
||
server: {
|
||
port: 5173,
|
||
proxy: {
|
||
// 本地开发:/api → Spring Boot 8080(本仓库没有 Mock,见 AGENTS.md)
|
||
'/api': {
|
||
target: env.VITE_API_BASE_URL,
|
||
changeOrigin: true
|
||
}
|
||
}
|
||
},
|
||
build: {
|
||
outDir: 'dist',
|
||
chunkSizeWarningLimit: 1500
|
||
},
|
||
plugins: [vue()]
|
||
}
|
||
})
|