refactor(pc): 从 Gi Admin Pro + Arco 重搭为纯 Vue 3 + Naive UI
旧模板的 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
This commit is contained in:
+21
-32
@@ -1,42 +1,31 @@
|
||||
{
|
||||
"extends": "@vue/tsconfig/tsconfig.json",
|
||||
"extends": "@vue/tsconfig/tsconfig.dom.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES2020", // 指定 ECMAScript 目标版本: 'ES3' (default), 'ES5', 'ES6'/'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'
|
||||
"jsx": "preserve", // 指定 jsx 代码的生成: 'preserve', 'react-native', or 'react'
|
||||
"jsxFactory": "h", // 当使用经典的JSX运行时,更改.js文件中调用的函数,默认:React.createElement
|
||||
"jsxFragmentFactory": "Fragment", // 指定 JSX 片段工厂函数
|
||||
"lib": [
|
||||
"ES2022",
|
||||
"DOM"
|
||||
], // 指定要包含在编译中的库文件。必须含 ES2022 ——
|
||||
// gi-demo 的 useBreakpoint / useTabsStore 用了 Array.prototype.at(),
|
||||
// 停在 ES2020 会让 `pnpm typecheck` 报 TS2550(运行期是好的:Vite 按浏览器实际能力打包)
|
||||
"baseUrl": ".", // 用于解析非相对模块名称的基目录
|
||||
"module": "ES2020", //
|
||||
"target": "ESNext",
|
||||
"jsx": "preserve",
|
||||
"baseUrl": ".",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"src/*"
|
||||
] // 模块名到基于 baseUrl 的路径映射的列表
|
||||
"@/*": ["src/*"],
|
||||
"~/*": ["./*"]
|
||||
},
|
||||
"resolveJsonModule": true, // 是否解析 JSON 文件
|
||||
"allowJs": true, // 允许编译 javascript 文件
|
||||
"checkJs": true, // 报告 javascript 文件中的错误
|
||||
"strict": true, // 开启所有严格的类型检查
|
||||
"noImplicitAny": false,
|
||||
"sourceMap": true, // 是否生成相应的Map映射的文件,默认:false
|
||||
"esModuleInterop": true, // 是否通过为所有导入模块创建命名空间对象,允许CommonJS和ES模块之间的互操作性
|
||||
"skipLibCheck": true, // 是否跳过声明文件的类型检查
|
||||
"ignoreDeprecations": "5.0" // 消除 importsNotUsedAsValues 的弃用报错
|
||||
"resolveJsonModule": true,
|
||||
"types": ["vite/client", "node"],
|
||||
"strict": true,
|
||||
"noImplicitAny": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"esModuleInterop": true,
|
||||
"isolatedModules": true,
|
||||
"skipLibCheck": true
|
||||
},
|
||||
"include": [
|
||||
"src/**/*",
|
||||
"src/**/*.ts",
|
||||
"src/**/*.d.ts",
|
||||
"src/**/*.tsx",
|
||||
"src/**/*.vue",
|
||||
"vite.config.ts"
|
||||
], // 指定被编译文件所在的目录
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"dist",
|
||||
"**/*.js"
|
||||
] // 指定不需要被编译的目录
|
||||
],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user