fix(Doc): 重新确定分支职责,删除原architecture-nuxt3分支 feat(image):

完成knowai-base:1.0.0的推送,同时上传了对应Dockerfile
This commit is contained in:
tobegold574
2025-11-04 14:24:10 +08:00
parent 36a5672b00
commit b44d3ba80a
2 changed files with 141 additions and 20 deletions

69
Dockerfile Normal file
View File

@@ -0,0 +1,69 @@
# ------------------------------------------------
# 基础镜像Node LTSDebian trixie-slim
# ------------------------------------------------
FROM node:lts-trixie-slim
WORKDIR /usr/src/app
ENV PNPM_HOME=/pnpm-global
ENV PATH=$PNPM_HOME:$PATH
ENV SHELL=/bin/sh
# ------------------------------------------------
# 安装 pnpm 并配置国内源
# ------------------------------------------------
RUN npm install -g pnpm && \
pnpm config set registry https://registry.npmmirror.com
# 在 Dockerfile 里替换源
RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian trixie main contrib non-free" > /etc/apt/sources.list && \
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security trixie-security main contrib non-free" >> /etc/apt/sources.list && \
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian trixie-updates main contrib non-free" >> /etc/apt/sources.list
# ------------------------------------------------
# 更新系统工具(最小化依赖)
# ------------------------------------------------
RUN apt-get update && apt-get install -y --no-install-recommends \
git curl ca-certificates && \
rm -rf /var/lib/apt/lists/*
# ------------------------------------------------
# 安装运行时核心依赖(支持 SSR + CSR
# ------------------------------------------------
RUN pnpm add -g \
nuxt@latest \
vue@latest \
vue-router@latest \
@vueuse/core \
@pinia/nuxt \
pinia-plugin-persistedstate \
@element-plus/nuxt \
@element-plus/icons-vue \
@nuxtjs/tailwindcss \
@nuxt/image \
@nuxt/icon \
@nuxtjs/color-mode \
@nuxtjs/component-cache \
axios \
node-fetch \
socket.io-client \
lodash \
dayjs \
crypto-js
# ------------------------------------------------
# 版本验证
# ------------------------------------------------
RUN echo "✅ Node 版本:" && node -v && \
echo "✅ pnpm 版本:" && pnpm -v && \
echo "✅ Nuxt 版本:" && pnpm dlx nuxt --version || true
# ------------------------------------------------
# 默认端口
# ------------------------------------------------
EXPOSE 3000
# ------------------------------------------------
# 启动方式
# ------------------------------------------------
CMD ["bash"]

View File

@@ -1,29 +1,76 @@
# 基础架构分支 - 全局更新管理
# Knowai Base 镜像维护文档
## 分支职责
负责项目中所有需要全局同步更新的部分,确保各功能分支技术栈一致性
负责统一 Nuxt 运行环境与框架生态依赖
不包含任何业务代码或配置,仅提供基础依赖环境。
## 具体负责内容
## 镜像标签命名规范
- 格式:`gitea.local.knowai/tobegold574/nuxt-base:主版本号.次版本号.修订号`
- 示例:`gitea.local.knowai/tobegold574/nuxt-base:1.0.0`
- 版本规则:
- 主版本号:不兼容的框架或依赖变更
- 次版本号:兼容性增强或批量依赖升级
- 修订号:小幅依赖更新或新增兼容依赖
- `latest` 标签默认指向当前稳定版本(谨慎更新)
### 1. 配置文件管理
- `nuxt.config.ts` - Nuxt构建配置、插件配置
- `tsconfig.json` - TypeScript类型检查规则
- `package.json` - 核心依赖版本锁定
## 基础环境
- Node.js LTSDebian trixie-slim
- pnpm包管理器
- 系统工具git、curl、ca-certificates
### 2. 全局类型定义
- `types/global.d.ts` - 全局接口、类型定义
- API响应类型规范
- 业务数据模型定义
## 全局依赖(长期不变部分)
### 核心框架
- nuxt@latest
- vue@latest
- vue-router@latest
### 3. 核心工具函数
- `utils/request.ts` - HTTP请求封装
- `utils/date.ts` - 日期格式化工具
- `utils/validate.ts` - 通用验证函数
### 状态管理
- @pinia/nuxt
- @pinia/plugin-persistedstate
### 4. 样式系统基础
- `assets/scss/variables.scss` - 设计系统变量
- 主题配色方案
- 响应式断点定义
### UI组件库
- @element-plus/nuxt
- @element-plus/icons-vue
### 样式与构建
- @nuxtjs/tailwindcss
- @nuxt/image
- @nuxt/icon
- @nuxtjs/color-mode
- @nuxtjs/component-cache
### 网络请求
- axios
- node-fetch
- socket.io-client
### 工具库
- @vueuse/core
- lodash
- dayjs
- crypto-js
## 使用方式
其他分支的 Dockerfile
```dockerfile
FROM gitea.local.knowai/tobegold574/nuxt-base:1.0.0
WORKDIR /usr/src/app
# 添加业务代码与依赖
```
### 构建命令
`docker build -t gitea.local.knowai/tobegold574/knowai-base:1.0.0 .`
`docker push gitea.local.knowai/tobegold574/knowai-base:1.0.0`
## 镜像分层说明
根据"知智镜像分层管理"思想Base层仅包含
- Node.js 运行环境
- 核心框架依赖Vue、Nuxt、Vue Router
- 基础状态管理Pinia
- 基础UI组件库Element Plus
- 常用工具库
其他依赖如测试工具、开发工具等应在各自层中按需添加避免Base镜像臃肿。
## 更新记录
@@ -31,5 +78,10 @@
- 创建基础架构分支
- 初始化Nuxt3项目结构
### 2025-11-4
- 删除项目代码以及CI pipeline
- 重新构建base镜像1.0.0版本
- 重新确定该分支职责
---
*仅负责全局性更新,业务功能在各功能分支独立开发*
*仅负责全局性依赖更新,业务功能在各功能分支独立开发,构建独立镜像*