Skip to content
This repository was archived by the owner on Dec 3, 2025. It is now read-only.

funnyzak/koa-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

374 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Koa2 Starter

基于 Koa2 构建的快速开始 Web 脚手架。

Build Status license Sourcegraph GitHub last commit GitHub repo size

目录

特点

  1. 基于 Koa2 的 Web 框架
  2. 集成 MongoDB 数据库
  3. 集成 MySQL 数据库
  4. 集成 Redis 数据库
  5. 集成 JOI 路由验证
  6. 集成 koa-session
  7. eslint、prettier 代码规范
  8. ejs 模板引擎
  9. 支持跨域、文件静态、多路由声明
  10. 支持测试覆盖
  11. 简单的文件存储服务(集成了阿里云)

运行

  1. config下,创建 config-[name].js 配置文件;
  2. 安装项目依赖,启动项目。
npm ci

# 开发启动
npm run watch

# 生产启动
npm start
# or
export NODE_ENV=production && node index.js

# 测试覆盖
npm run cov

接口

已经实现的接口,已梳理为接口文档,托管在APIPOST,在线查看

结构

├── .vscode                                // vscode 配置
├── app.js                                 // app入口文件
├── common                                 // 公共库
├── config                                 // 应用配置
├── docker-compose                         // Dokcer 部署示例
├── controller                             // 路由控制器
├── index.js                               // 启动文件
├── lib                                    // 工具库
├── logs                                   // 日志文件夹
├── middleware                             // 中间件
├── test                                   // 测试覆盖
├── models                                 // db model
├── public                                 // 静态资源文件夹
├── router                                 // 路由
├── schema                                 // 验证规则
├── service                                // 应用业务
└── views                                  // 模板

部署

Compose 部署

可以通过配置 Docker-Compose 结合 git-webhook 完成自动化部署,可看示例配置

Docker 启动

也可以通过 Docker 启动,需要注意的是,需要挂载项目文件到容器中,否则无法启动。

docker run -v "$(pwd)":/app -e NODE_ENV=production --name my-node-app  -p 81:3000 funnyzak/java-nodejs-python-go-etc node /app/index.js

以上是生产环境的启动命令,因此需要修改 config/config-production.js 配置文件。

  • -v "$(pwd)":/app 将当前目录映射到容器的/app目录。
  • -e NODE_ENV=production 设置环境变量NODE_ENVproduction
  • --name my-node-app 指定容器的名称为my-node-app
  • -p 81:3000 将容器的3000端口映射到主机的81端口。
  • funnyzak/java-nodejs-python-go-etc 是您要使用的镜像名称。
  • node /app/index.js 是要在容器中执行的启动命令。

参考

Contribution

If you have any questions or suggestions, please feel free to open an issue or pull request.

License

MIT License © 2021 funnyzak

About

基于 Koa2 构建的快速开始 Web 脚手架。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •