您可以使用 Heroku 部署由 json-server NPM 模块运行的假后端吗?
Posted
技术标签:
【中文标题】您可以使用 Heroku 部署由 json-server NPM 模块运行的假后端吗?【英文标题】:Can you deploy a fake backend run by json-server NPM module using Heroku? 【发布时间】:2016-11-24 07:31:20 【问题描述】:我经常使用 npm 模块 json-server
在给定 db.json
文件的情况下生成假 JSON api。有没有办法将它部署到 Heroku?本质上,我只是跑
json-server --watch db.json
如果public/
目录中有静态 html,它还会运行一个服务器,该服务器还提供静态 html。本质上,我认为它只是在运行一个节点服务器,除了我尝试推送到 Heroku,但它不起作用。为了让 Heroku 将 json-server
模块作为我的服务器运行,我应该执行什么特殊程序吗?
【问题讨论】:
你解决了吗?我正在尝试为 XHR 模拟后端做同样的事情 @Adam,我确实解决了它。这是存储库:github.com/nbkhope/fake-restful-api 我无法做的一件事是将 json-server 生成的日志重定向到应用程序。如果有人对此提供帮助,那就太好了。提出拉取请求并做出贡献!谢谢。 我在 repo 中看不到登录逻辑。我认为 json-server 可以返回成功的登录状态,除非您使用 Angular 或其他框架,否则重定向需要使用 jQuery 之类的东西来完成。如果你更新你的仓库,我可以看看。 @AdamMendoza 我不确定你在说什么。当我说日志时,我的意思是每当向服务器发出请求时控制台日志。终端上显示的东西说 GET /whatever was requested 等等。 我将其误读为登录与日志记录。我会发布更新。 【参考方案1】:在后台,Heroku 会寻找一个启动脚本,默认情况下这是 npm start
,所以请确保你的 package.json
中有它。
迟到了,但如果有人需要,只需查看 this repo,将 db.json
更改为您想要的,然后按照分步说明部署到 Heroku。
【讨论】:
【参考方案2】:如果您想使用 Heroku、AWS Elastic Beanstalk 等上发布的应用程序中的虚假 API,请使用 My Json Server https://my-json-server.typicode.com/。据我所知,一个小的 json.db 文件是免费的。
您需要做的就是:
-
在 gitHub 上创建一个仓库并将你的 json.db 放在那里
调用你的 API
https://my-json-server.typicode.com/<your-github-username>/<your-github-repo>
【讨论】:
【参考方案3】:可以使用以下命令启动json服务器
`json-server --watch db.json -p 3001 -d 2000
这里-p是端口 这通常用于在端口 2000 上启动本地 json 服务器
【讨论】:
这里-p是端口 这是在 2000 端口启动本地 json 服务器的常用方法。以上是关于您可以使用 Heroku 部署由 json-server NPM 模块运行的假后端吗?的主要内容,如果未能解决你的问题,请参考以下文章