# lib:新平台自封装组件 本目录存放**本项目自己二次封装**的组件构建产物,源码在 `F:\源码\fast-crud`,构建后复制到这里。 | 目录 | 对应源码 | 说明 | | --- | --- | --- | | `fast-crud/` | `F:\源码\fast-crud\packages\fast-crud` | 表格核心(按钮样式、列对齐与排序、下载导出、插槽兼容等定制都在这里) | | `ui-element/` | `F:\源码\fast-crud\packages\ui\ui-element` | Element Plus 适配器(图标等定制) | | `ui-interface/` | — | 未做二次开发,直接使用官方包 `@fast-crud/ui-interface`(在 `package.json` 中声明) | ## 为什么放在这里 - 不再覆盖 `node_modules/@fast-crud/*`:执行 `pnpm install` 不会把定制内容冲掉。 - 官方包 `@fast-crud/fast-crud`、`@fast-crud/ui-element` 已从 `package.json` 依赖中移除,避免误用官方版本。 - 引入方式:`vite.config.ts` 里做了别名映射,代码里仍然写 `@fast-crud/fast-crud`、`@fast-crud/ui-element`,无需改业务代码: ```ts resolve: { alias: { "@fast-crud/fast-crud": resolve(__dirname, "lib/fast-crud"), "@fast-crud/ui-element": resolve(__dirname, "lib/ui-element") } } ``` ## 更新流程(改完 fast-crud 源码后) 1. 在 `F:\源码\fast-crud\packages\fast-crud` 构建(只跑 vite build,跳过有问题的 tsc): ```powershell cd F:\源码\fast-crud\packages\fast-crud pnpm exec vite build --emptyOutDir ``` 2. 在 `F:\源码\fast-crud\packages\ui\ui-element` 同样构建(改了适配器才需要): ```powershell cd F:\源码\fast-crud\packages\ui\ui-element pnpm exec vite build --emptyOutDir ``` 3. 覆盖本目录的 dist: ```powershell Remove-Item "F:\老项目\new-school-iot-admin\lib\fast-crud\dist" -Recurse -Force Copy-Item "F:\源码\fast-crud\packages\fast-crud\dist" "F:\老项目\new-school-iot-admin\lib\fast-crud\dist" -Recurse ``` 4. 清 Vite 预构建缓存并重启开发服务: ```powershell Remove-Item "F:\老项目\new-school-iot-admin\node_modules\.vite" -Recurse -Force cd F:\老项目\new-school-iot-admin pnpm dev ``` ## 注意 - `lib/` 下是构建产物,**不要手改**;要改行为请改 `F:\源码\fast-crud` 源码后重新构建。 - 版本号用 `1.29.0-local.1`,表示「基于官方 1.29.0 的本地定制版」,不要改成官方版本号。