仅将 Apollo Server 部署到 heroku 时出现问题
Problem deploying only Apollo Server to heroku
我正在将我的数据库的 Apollo 服务器部署到 heroku,但出现应用程序错误。它不仅仅是表明 get 路由有问题,它还表示应用程序有错误并且错误日志表明应用程序正在崩溃。它在本地运行良好。
我已经设置了 procfile : web: node app.js 。
我已经在删除了 procfile 的情况下进行了尝试。
我已将 playground 和 introspection 设置为 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 路由来显示 playground。我没有得到这些选项。
原来我需要在package.json中添加以下内容:
"scripts": {
"start": "app.js",
...
}
而且我需要安装 heroku 日志中列出的包 --tail,但我以前遇到过这些错误。将脚本启动键写入 package.json 文件是为了当你独立于你的反应(或客户端)端部署你的服务器时。
我正在将我的数据库的 Apollo 服务器部署到 heroku,但出现应用程序错误。它不仅仅是表明 get 路由有问题,它还表示应用程序有错误并且错误日志表明应用程序正在崩溃。它在本地运行良好。
我已经设置了 procfile : web: node app.js 。 我已经在删除了 procfile 的情况下进行了尝试。 我已将 playground 和 introspection 设置为 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 路由来显示 playground。我没有得到这些选项。
原来我需要在package.json中添加以下内容:
"scripts": {
"start": "app.js",
...
}
而且我需要安装 heroku 日志中列出的包 --tail,但我以前遇到过这些错误。将脚本启动键写入 package.json 文件是为了当你独立于你的反应(或客户端)端部署你的服务器时。