diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..161b910 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:24-alpine + +WORKDIR /app + +# 1. 启用 pnpm +RUN corepack enable && corepack prepare pnpm@latest --activate + +# 2. 复制 workspace 配置 +COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./ + +# 3. 安装所有依赖 +RUN pnpm install --frozen-lockfile + +# 4. 复制源码 +COPY . . diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f8fa0c9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + dev: + image: node:24-alpine + working_dir: /app + volumes: + - .:/app + - /app/node_modules + ports: + - "3000:3000" + command: sh diff --git a/packages/ui-web/src/componnets/button/useButtonSlots.ts b/packages/ui-web/src/componnets/button/useButtonSlots.ts index 184205b..64affd3 100644 --- a/packages/ui-web/src/componnets/button/useButtonSlots.ts +++ b/packages/ui-web/src/componnets/button/useButtonSlots.ts @@ -14,9 +14,10 @@ export function useButtonSlot( props: { hideIcon?: boolean; loading?: boolean }, ) { const filterNodes = (nodes: ReactNode): ReactNode => { + // 存储挑出 Slot 后的纯净 children const filtered: ReactNode[] = []; - Children.forEach(nodes, (child) => { + Children.forEach(nodes, (child: any) => { if (!isValidElement(child)) { filtered.push(child); return;