我正在将用于数据库的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路由显示操场。我没有这些选择。
事实证明,我需要在package.json中添加以下内容:
"scripts": {
"start": "app.js",
...
}
而且我需要安装heroku日志--tail中列出的软件包,但是之前有过这些错误。将脚本开始键写入package.json文件是用于独立于反应(或客户端)端部署服务器时。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句