基于 Koa2 构建的快速开始 Web 脚手架。
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 // 模板
可以通过配置 Docker-Compose 结合 git-webhook 完成自动化部署,可看示例配置。
也可以通过 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_ENV
为production
。--name my-node-app
指定容器的名称为my-node-app
。-p 81:3000
将容器的3000
端口映射到主机的81
端口。funnyzak/java-nodejs-python-go-etc
是您要使用的镜像名称。node /app/index.js
是要在容器中执行的启动命令。If you have any questions or suggestions, please feel free to open an issue or pull request.
MIT License © 2021 funnyzak