仅将Apollo服务器部署到heroku时出现问题

时间:2019-05-26 23:09:16

标签: express heroku apollo-server

我正在将数据库的Apollo服务器部署到heroku,这会导致应用程序错误。这不仅表明get路由存在问题,还表明应用程序有错误,错误日志表明应用程序崩溃。它在本地运行良好。

我已使用以下程序设置了procfile:web:node app.js。 我已经尝试过删除procfile。 我将操场和内省设置为true。我看到这可能是问题所在,但似乎没有帮助。 端口设置为process.env.PORT || 8080。

这是最小的代码:

const { ApolloServer } = require('apollo-server-express');
const express = require('express');
const db = require('./models');
const typeDefs = require('./data/schema');
const resolvers = require('./data/resolvers');

const app = express();

const server = new ApolloServer({
  typeDefs,
  resolvers,
  context: { db },
  introspection: true,
  playground: true,
});

server.applyMiddleware({ app });

const PORT = process.env.PORT || 8080;

app.get('/', (req, res) => {
  res.send('hello');
});

app.listen(PORT, () => {
  console.log(`Server is ready at ${PORT}`);
});

我还在使用其他一些功能(试图设置cron进程),但是这些功能已被注释掉。

我希望获得/ get路由至少打个招呼,或者让/ graphql路由显示游乐场。我没有这些选择。

1 个答案:

答案 0 :(得分:0)

原来,我需要在package.json中添加以下内容:

    "scripts": {
        "start": "app.js",
        ...
    }

我需要安装heroku日志--tail中列出的软件包,但是以前有这些错误。将脚本开始键写入package.json文件是用于独立于反应(或客户端)端部署服务器时。