您可以使用 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 模块运行的假后端吗?的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在开发中有效,但在部署到 heroku 时无效

Heroku到底是啥?

传输数据 | Django Heroku

应用程序中发生错误,无法提供您的页面将 Node.Js REST 部署到 heroku

在 Ruby on Rails 中使用 Heroku

将微服务节点 js 应用程序部署到 heroku