Я развертываю сервер Apollo для своей базы данных на героку, и он выдает ошибку приложения. Это не просто показывает, что есть проблема с маршрутом получения, это говорит о том, что в приложении есть ошибка, а в журналах ошибок говорится, что приложение дает сбой. Локально работает нормально.
Я настроил 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.info(`Server is ready at ${PORT}`);
});
Я также использую некоторые другие функции (пытаюсь настроить процесс cron), но они закомментированы.
Я бы ожидал получить маршрут /get, чтобы хотя бы поздороваться, или чтобы маршрут /graphql отображал игровую площадку. Я не получаю ни один из этих вариантов.





Оказывается, мне нужно было добавить в package.json следующее:
"scripts": {
"start": "app.js",
...
}
И мне нужно было установить пакеты, перечисленные в журналах heroku --tail, но у меня были эти ошибки раньше. Запись ключа запуска скрипта в файл package.json предназначена для случаев, когда вы развертываете свой сервер независимо от вашей реагирующей (или клиентской) стороны.