搭建自己API服务器(一):使用egg快速搭建
本文于1715天之前发表,文中内容可能已经过时。
egg是阿里巴巴团队推出的基于Node.js和Koa的为企业级框架和应用
详细文档,了解更多
环境要求
- 操作系统:支持 macOS,Linux,Windows
- 运行环境:Node建议选择 LTS 版本,最低要求 8.x。
egg项目结构
该目录说明来源中egg文档,具体可查目录结构
1 | egg-project |
如上,由框架约定的目录:
app/router.js
用于配置 URL 路由规则,具体参见 Router。app/controller/**
用于解析用户的输入,处理后返回相应的结果,具体参见 Controller。app/service/**
用于编写业务逻辑层,可选,建议使用,具体参见 Service。app/middleware/**
用于编写中间件,可选,具体参见 Middleware。app/public/**
用于放置静态资源,可选,具体参见内置插件 egg-static。app/extend/**
用于框架的扩展,可选,具体参见框架扩展。config/config.{env}.js
用于编写配置文件,具体参见配置。config/plugin.js
用于配置需要加载的插件,具体参见插件。test/**
用于单元测试,具体参见单元测试。app.js
和agent.js
用于自定义启动时的初始化工作,可选,具体参见启动自定义。
由内置插件约定的目录:app/public/**
用于放置静态资源,可选,具体参见内置插件 egg-static。app/schedule/**
用于定时任务,可选,具体参见定时任务。
若需自定义自己的目录规范,参见 Loader API
app/view/**
用于放置模板文件,可选,由模板插件约定,具体参见模板渲染。app/model/**
用于放置领域模型,可选,由领域类相关插件约定,如 egg-sequelize。
快速搭建API服务框架
方法一:使用我自己搭建的demo
该demo是使用egg + mongodb + jsonwebtoken实现的一个简单的RESTful API服务器模板
具体说明查看项目介绍
1 | git clone https://github.com/aferica/egg-api-sever |
方法二:使用官方推荐的egg-RESTfulAPI
框架选择:基于 Egg.js 2.0
数据模型:基于 Mongoose 存储
授权验证:基于JWT
内置功能:文件处理,用户系统,统一错误处理及接口返回标准,全方位CRUD,分页,模糊查询的等数据操作Demo
最佳实践:接口设计适配 Ant Design Pro 或 微信小程序开发等。(内置分页及ant接口返回标准)
1 | cd app & mkdir public & cd public & mkdir uploads |
配置管理
egg框架提供了强大且可扩展的配置功能,可以自动合并应用、插件、框架的配置,按顺序覆盖,且可以根据环境维护不同的配置。合并后的配置可直接从 app.config 获取。
多环境配置
多个环境配置文件,适用于多种环境,方便管理维护
1 | config |
配置示例
1 | // egg-mongoose配置 |
你的赞赏是对我最大的鼓励