图标统一走 unplugin-icons + hugeicons,构建期内联,出口收在 src/ui/icons.ts。 顺带修掉 TopBar 那个 undo 图标缺弧命令的 path。 右栏下半四组默认全收,收起态只有一行 32px;顶栏导出按钮改成先展开 「导出与模板」再滚,否则滚到底只看得到一行标题。 属性区去掉分组标题,改成 Figma 那种「字母/图标 + 无边框输入框」两列密排, 新增 W/H 宽高比锁(比例在开锁那一刻定格,不每次编辑现算)。 删掉 Sidebar.vue 和 panels/CanvasPanel.vue:上一轮改 Figma 布局之后 它们已无人 import,--sidebar-w 同批遗留。
36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import { fileURLToPath, URL } from "node:url";
|
|
import { defineConfig } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
import Icons from "unplugin-icons/vite";
|
|
import { fontsPlugin } from "./src/fonts/vite-plugin-fonts";
|
|
|
|
/**
|
|
* 这个工具**只在 dev 下完整可用**:系统字体的枚举与读取走 `fontsPlugin` 挂在 Vite
|
|
* 开发服务器上的中间件,`vite build` 出的静态产物里没有那两个接口。
|
|
* 这是刻意的——自用工具不值得为此单起一个后端进程。
|
|
*/
|
|
export default defineConfig({
|
|
plugins: [
|
|
vue(),
|
|
// 图标:`import IconFoo from "~icons/solar/xxx-linear"` 在**构建期**从
|
|
// `@iconify-json/*` 里取出 SVG 编成 Vue 组件,不联网、不打包整套图标集。
|
|
// `defaultClass` 让所有图标共享一条样式规则(尺寸/描边色见 style.css 的 .icon)。
|
|
Icons({ compiler: "vue3", scale: 1, defaultClass: "icon" }),
|
|
fontsPlugin(),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
|
},
|
|
},
|
|
server: {
|
|
port: 5180,
|
|
watch: {
|
|
// `.worktrees/` 底下是并行开发用的完整项目副本。不排除的话,任何一条线改文件
|
|
// 都会触发主 dev 的全量重载(它们各有一份 tsconfig,Vite 检测到就清缓存重启),
|
|
// 实测会直接把 dev 进程搞挂。
|
|
ignored: ["**/.worktrees/**"],
|
|
},
|
|
},
|
|
});
|