Koa2+mongoose+api 极简且容易扩展模板,小项目的开发利器!!

1,511 阅读2分钟

前言

  • 由于接到新需求,需要快速完成一个H5,前后端都由自己来负责
  • 前端选型vue3+pinia+windi css
  • 后端则一直找了好久,有express、nest、koa等等~
  • 眼花缭乱,数据库有Mysql、Mongodb等等~
  • 再眼花缭乱,typeorm、sequelize、还有mongoose ...
  • 由于时间紧迫,所以必须选一个上手简单并容易扩展的,最后定下 koa2+mongodb+mongoose
  • 找了好久,基本上对新手都不太友好,于是自己动手,弄了这个模板!!

一个开箱即用,快速搭建小型应用的 Koa2+mongodb+mongoose+...模板框架。项目进行了分层,包含 controller、models、routes 。并集成了自动化模板生成,JSON 格式返回等中间件,可以放心使用。

github地址 如果帮到您,希望能给个star~

项目目录结构

    ├── app
    │   ├── controller  // 控制器
    │   ├── models      // models层
    |   └── routes      // 路由文件
    ├── bin             // 启动文件
    ├── config          // 配置文件
    ├── generate        // 模板生成器
    ├── middleware      // 中间件
    ├── public          // 静态文件
    ├── utils           // 公用方法
    ├── app.js          // 入口文件
    ├── package.json    // package
    └── start.js        // 启动文件

🤖 兼容ES6 import 写法

在start.js文件下

    require('babel-register')
  (
    {
      plugins: ['babel-plugin-transform-es2015-modules-commonjs'],
    }
  )
module.exports = require('./bin/www')

🤖 根据文件自动生成路由

在app.js文件下

// routes

fs.readdirSync('./app/routes').forEach(route => {

  let api = require(`./app/routes/${route}`)

  app.use(api.routes(), api.allowedMethods())

})

🤖 支持自动生成文件

⚙️ 代码文件自动生成,预设模板controller,models,routes,也可以根据自己需要设计更多自动生成脚本。一般后端同学惯用此形式,十分高效。

执行 npm run new 后,输入模块名称,如:test

微信截图_20220225174530.png

⭐️ Show Your Support

如果该模板给您带来了帮助,希望能给个 star!

Please give a ⭐️ if this project helped you!

👏 Contributing

如果您有任何问题或请求,或想为“moveable”或其他包做出贡献,请写issue或给我一个 Pull Request 自由。

If you have any questions or requests or want to contribute to koa2_template or other packages, please write the issue or give me a Pull Request freely.

🐞 Bug Report

如果你发现一个错误,请在 GitHub 上打开一个新的Issue报告给我们。 If you find a bug, please report to us opening a new Issue on GitHub.