Привет, я пытался развернуть свое приложение в течение последних 3 часов, и я не могу понять проблему. Я новичок в развертывании на героку, и после устранения неполадок в течение последних двух часов я составил список вещей, которые я пробовал, из других ответов.
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.info(`Listening on port:${PORT}`))
это мой package.json
{
"name": "todolist",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"repository": {
"type": "git",
"url": "hiding this"
},
"author": "",
"license": "ISC",
"bugs": {
"url": hiding this
},
"homepage": hiding this,
"dependencies": {
"bcrypt": "^5.0.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"morgan": "^1.10.0",
"mysql2": "^2.2.5",
"pg": "^8.5.1",
"sequelize": "^6.3.5"
},
"devDependencies": {
"sequelize-cli": "^6.2.0"
}
}
Это мой config.json
{
"development": {
"database": "todolist_development",
"dialect": "postgres"
},
"test": {
"database": "express_react_auth_test",
"dialect": "postgres"
},
"production": {
"use_env_variable": "DATABASE_URL",
"dialect": "postgres",
"dialectOptions": {
"ssl": true
}
}
}
это моя структура папок
любая помощь будет так оценена
В настоящее время у меня нет файла .env. Мне нужно его развернуть? и если да, то как мне это сделать? Вы имеете в виду процесс.env? Я думал, что это было автоматически сделано героку
Хорошо, как вы указываете значения, к которым вы обращаетесь с помощью process.env? Я думаю, вам нужно установить переменную DATABASE_URL. Это может быть полезно: devcenter.heroku.com/articles/config-vars
Возможно, вы забыли установить переменные среды на героку. Просто поместите все ключи и значения, которые у вас есть в вашем .env, в переменные конфигурации heroku и не забудьте добавить надстройку db в свое приложение Heroku, если вы используете mysql, я бы рекомендовал использовать clearDb.
У меня нет файла .env, и я действительно не понимаю процесс.env, извините, я очень медленный. Я запустил приложение heroku, запустив heroku addons:add heroku-postgresql
, и я проверил свою переменную конфигурации для DATABASE_URL и установил значение postgres://kdlovcwzdgzrgi:7cb8342c1ea636be245f8c69f6c5349be4b9921b39128373fbe3168694259288@ec2 -3-224-38-18.compute-1.ama zonaws.com:5432/d95jfgnsi2cfbf Я пытался делать вызовы URL-адреса heroku, и единственное, что работает, это корень ('/'), если я пытаюсь сделать вызов API ('/todos'), он говорит, что связь не существует, потому что он не заполняет мою базу данных
Я думаю, что, если честно, сейчас я могу двигаться назад
@andrewkim, если вы успешно добавили надстройку Heroku Postgres, вам нужно иметь дело с миграциями БД, чтобы иметь таблицы в вашей БД. Вот ссылка для работы с миграциями в sequenceize sequenceize.org/master/manual/migrations.html
Похоже, вам не хватает строки подключения к БД. Вы уверены, что установили его в файле env?