# Node.js Koa Docker MySQL Redis 远程开发 本项目使用 Docker Compose 在远程开发环境中启动 MySQL 和 Redis,并使用 Koa 提供 API 服务。 ## 快速开始 点击右上角 `Fork` 按钮,将项目 fork 到自己的仓库。 然后点击 `云原生开发` 按钮,开始远程开发。 1. 安装依赖 ```bash npm install ``` 2. 开始开发 支持使用命令行起服务 ```bash npm run dev ``` 同时,也可以在 VSCode 调试, 在 VSCode 左侧的活动栏中选择“运行和调试”图标,从运行和调试下拉列表中选择“调试 Koa 应用”,然后点击绿色的运行按钮(或直接按 F5)。 [查看如何配置](.vscode/launch.json) 3. 访问 API ```bash curl http://localhost:3000 curl http://localhost:3000/users curl http://localhost:3000/visits ``` ## 项目结构 ``` . ├── .ide │ └── Dockerfile ├── .vscode ├── docker-compose.yml ├── Dockerfile ├── .env.example ├── .gitignore ├── package.json ├── README.md ├── src │ └── app.js └── mysql-init └── init.sql ``` - `.ide/Dockerfile`: 用于远程开发时自定义环境 - `.vscode`: VSCode 配置文件,如断点调试配置等 - `docker-compose.yml`: Docker Compose 配置文件 - `Dockerfile`: Node.js 应用的 Docker 配置文件 - `.env.example`: 环境变量示例文件 - `src/index.js`: 主应用程序文件 - `mysql-init/init.sql`: MySQL 初始化脚本 ## API Endpoints - `GET /`: 欢迎消息 - `GET /users`: 获取用户列表(从 MySQL) - `GET /visits`: 获取并增加访问计数(使用 Redis) - `GET /init-db`: 初始化数据库(执行 SQL 脚本) ## 远程开发配置 配置文件位于 `.cnb.yml`,使用 [cnb 云原生开发](https://docs.cnb.cool/zh/vscode/quick-start.html) 远程开发。 ``` $: # vscode 事件:专供页面中启动远程开发用 vscode: - docker: build: .ide/Dockerfile services: - vscode - docker stages: - name: start docker compose script: docker compose up -d ``` ## LICENSE [MIT License](LICENSE)