使用 Heroku 和 mongoDB Atlas 免费托管 YApi
0. 背景
前端开发过程中,与后端约定接口标准之后,双方同时开始开发,可能会出现后端没有 Ready,但是前端已经需要使用接口的情况。这时候就需要 Fake 接口。有几种方式:
优点 | 缺点 | |
---|---|---|
1. 项目中使用 Fake Promise | 方便快速 | 不能模拟真实网络请求,对代码有侵入,需要在 webpack 中配置路径替换或手动切换文件 |
2. 项目中使用 mockjs 等服务端方式启动自托管 mock server | 方便快速,真实网络请求 | 增加项目体积,不利于多项目共享基础设施,耗费开发服务器性能 |
3. 使用单独的 mock server | 真实网络请求,可集成后端接口测试,TS 代码模板等功能 | 需要花稍多时间维护接口 |
这里介绍一下使用第三种方式的一个实现方法:YApi,可以去这里体验。
YApi 是 node + mongoDB 项目,本篇介绍一下自己使用 Heroku 和 mongoDB Atlas 免费部署 YApi 的过程。
1. 注册帐号
https://cloud.mongodb.com/ 提供免费的 mongoDB 数据库服务
https://www.heroku.com/ 提供免费的 node 程序托管服务
2. 准备
2.1 建立数据库
登录 https://cloud.mongodb.com/ 创建 sandbox 实例。得到类似
1 | # <username> 为用户名 |
的连接字符串。
2.3 克隆代码
YApi 源码位于 https://github.com/YMFE/yapi
你可以 Fork 到你自己的仓库,然后克隆。
1 | git clone git@github.com:YMFE/yapi.git |
2.4 修改几行代码适应 Heroku 部署
1 | cd yapi |
2.5 初始化数据库
1 | npm install |
2.6 增加环境变量
1 | # 打开 config.js |
3. 部署
3.1 创建项目
登录 https://dashboard.heroku.com/ 创建 app,例如 yapi-demo
(已使用,请另外命名),创建完成之后来到项目页面:https://dashboard.heroku.com/apps/yapi-demo
3.2 配置环境变量
点击 Settings -> Reveal Config Vars
依次添加:
1 | connectString: mongodb+srv://<username>:<password>@xxxx.mongodb.net/yapi?retryWrites=true |
3.3 推送代码
在项目主页点击 Deploy,根据提示安装 Heroku CLI
并登录。
1 | # cd yapi |
3.4 验证部署
打开 https://yapi-demo.herokuapp.com/(当然,你要替换成你自己的应用名)。
首次加载可能很慢,有一个超大JS,需要加载一分钟左右(团队需要解决下)。
使用先前的用户名和密码登录即可体验。
你也可以使用 demo@demo.com/demo 登录YApi Demo 体验,请勿修改密码。