Skip to content

项目介绍

TIP

本站介绍均基于 vitepress-nodejs-demo

项目目录
.
├── backend# 后端服务(Node.js API)
├── deploy# 部署配置(Docker/脚本工具)
├── frontend# 前端文档(VitePress 站点)
├── scripts# 自动化脚本(构建/安装/启停)
├── package.json# 根项目依赖配置
└── readme.md# 项目说明文档
点击显示详细目录结构
.
|-- backend
|   |-- .dockerignore
|   |-- Dockerfile
|   |-- package-lock.json
|   |-- package.json
|   |-- src
|   |   |-- config
|   |   |   `-- constants.js
|   |   |-- controllers
|   |   |   |-- base.controller.js
|   |   |   |-- greet.controller.js
|   |   |   |-- health.controller.js
|   |   |   `-- time.controller.js
|   |   |-- index.js
|   |   |-- middleware
|   |   |   |-- cors.middleware.js
|   |   |   `-- error.middleware.js
|   |   |-- routes
|   |   |   |-- base.route.js
|   |   |   |-- greet.route.js
|   |   |   |-- health.route.js
|   |   |   |-- index.js
|   |   |   `-- time.route.js
|   |   `-- utils
|   |       `-- logger.js
|   `-- tsconfig.json
|-- deploy
|   |-- Dockerfile
|   |-- api-tester.js
|   |-- build.bat
|   |-- default.conf
|   |-- docker-compose.yml
|   `-- tools
|       |-- 7z
|       |   |-- 7za.dll
|       |   |-- 7za.exe
|       |   |-- 7zxa.dll
|       |   |-- Far
|       |   |   |-- 7-ZipEng.hlf
|       |   |   |-- 7-ZipEng.lng
|       |   |   |-- 7-ZipFar.dll
|       |   |   |-- 7-ZipFar64.dll
|       |   |   |-- 7-ZipRus.hlf
|       |   |   |-- 7-ZipRus.lng
|       |   |   |-- 7zToFar.ini
|       |   |   |-- far7z.reg
|       |   |   `-- far7z.txt
|       |   |-- License.txt
|       |   |-- arm64
|       |   |   |-- 7-ZipFar.dll
|       |   |   |-- 7za.dll
|       |   |   |-- 7za.exe
|       |   |   `-- 7zxa.dll
|       |   |-- history.txt
|       |   |-- readme.txt
|       |   `-- x64
|       |       |-- 7za.dll
|       |       |-- 7za.exe
|       |       `-- 7zxa.dll
|       |-- 7z.exe
|       |-- plink.exe
|       `-- pscp.exe
|-- frontend
|   |-- .vitepress
|   |   |-- config.ts
|   |   |-- navbar
|   |   |   |-- about.ts
|   |   |   `-- index.ts
|   |   |-- sidebar
|   |   |   |-- about.ts
|   |   |   `-- index.ts
|   |   `-- theme
|   |       |-- Layout.vue
|   |       |-- components
|   |       |   `-- MyComponent.vue
|   |       |-- index.mts
|   |       `-- utils
|   |           `-- env-utils.ts
|   |-- docs
|   |   `-- about
|   |       |-- 001.md
|   |       |-- 002.md
|   |       `-- 003.md
|   |-- index.md
|   |-- package-lock.json
|   |-- package.json
|   `-- public
|       `-- assets
|           `-- icons
|               `-- logo.jpg
|-- package-lock.json
|-- package.json
|-- readme.md
`-- scripts
    |-- build copy.js
    |-- build.js
    |-- install-deps.js
    |-- install.bat
    |-- start.bat
    `-- stop-services.js

frontend(前端项目)

基于 VitePress 构建的文档站点,包含用户手册、API 文档等内容。

核心目录结构

frontend/
├── .vitepress/# VitePress 配置
│├── config.ts# 站点配置(导航/侧边栏/主题)
│├── navbar/# 导航栏配置(拆分模块化)
│├── sidebar/# 侧边栏配置(按文档分类)
│└── theme/# 自定义主题
│├── components/# 全局组件(如 HighlightText)
│└── Layout.vue# 自定义布局
├── docs/# 文档内容
│├── about/# "关于我们" 分类文档
│└── index.md# 首页
└── public/# 静态资源(图片/图标)

关键文件说明

  • .vitepress/config.ts:配置站点标题、导航链接、侧边栏结构等
  • docs/:所有 Markdown 文档存放目录,支持多级分类
  • theme/components/:自定义组件目录,可在 Markdown 中直接引用

backend(后端项目)

基于 Node.js 的 API 服务,提供业务接口功能。

核心目录结构

backend/
├── src/
│├── config/# 配置文件(常量/环境变量)
│├── controllers/# 控制器(处理请求逻辑)
││├── greet.controller.js# 示例:问候接口
││└── health.controller.js# 示例:健康检查接口
│├── middleware/# 中间件(CORS/错误处理)
│├── routes/# 路由定义(接口 URL 映射)
│└── utils/# 工具函数(日志/通用方法)
├── Dockerfile# Docker 构建配置
└── package.json# 后端依赖

功能说明

  • 控制器:按业务模块拆分,如 greet.controller.js 处理问候相关接口
  • 中间件cors.middleware.js 处理跨域请求,error.middleware.js 统一错误处理
  • Docker 支持:通过 Dockerfile 快速构建后端服务镜像

deploy(部署配置)

包含项目部署所需的 Docker 配置、脚本工具和环境模板。

核心目录结构

deploy/
├── Dockerfile# 整体项目部署镜像配置
├── docker-compose.yml# 多服务编排配置(前端/后端/数据库)
├── default.conf# Nginx 反向代理配置(可选)
└── tools/# 部署辅助工具
├── 7z/# 压缩工具(用于打包资源)
├── plink.exe# SSH 连接工具(Windows)---目前未用到
└── pscp.exe# 文件传输工具(Windows)---目前未用到

关键文件说明

  • docker-compose.yml:定义多服务依赖关系,如前端静态服务 + 后端 API 服务
  • build.bat:Windows 环境下的一键构建脚本(打包 + 部署)
  • tools/:内置跨平台部署工具,无需额外安装依赖(目前主要用到 7z 压缩工具)

scripts(自动化脚本)

提供项目开发、构建、部署的自动化脚本,简化操作流程。 将相关脚本配置到项目根目录的package.json命令中,从而实现了通用的命令npm install

核心脚本说明

文件名功能描述
install.bat一键安装前后端依赖(Windows)
build.js构建前端文档和后端服务
start.bat启动本地开发环境(前端 + 后端)
stop-services.js停止所有运行中的服务进程
通过以上模块化结构,项目实现了 **前后端分离**、**部署自动化** 和 **开发便捷性**,适合快速迭代和团队协作。