Heroku не может GET/

Я новичок в Heroku и считаю, что я выполняю все шаги, описанные на веб-сайте Heroku, для развертывания через node.js - https://devcenter.heroku.com/articles/getting-started-with-nodejs, - но, несмотря на признаки успеха, я вижу это в браузере, только когда перехожу к своему недавно сгенерированному сайт herokuapp.com.

Не удается получить /

Нет ошибок при выполнении

git push heroku master

Мой Procfile просто

web: node app.js

Я еще не совсем понимаю динозавров, но, похоже, один из них работает:

heroku ps === web (1X): node app.js web.1: up 2014/07/03 23:55:00 (~ 18m ago)

Тогда:

геройку открой Открытие имени приложения... выполнено

Но https://APP-NAME.herokuapp.com/ просто отображает сообщение Cannot GET/.

Ответ 1

У меня был мой dist каталог, включенный в мой файл .gitignore, поэтому я не выполнял dist to my repo и не нажимал его на Heroku. Поэтому Heroku не смог найти контент для обслуживания.

Я обновил свой .gitignore, зафиксировал и нажал, и теперь мое приложение проявляется в прекрасном виде на Heroku.

Ответ 2

почти 3 года, но я отвечаю за ссылку.

  • Обычно /dist - это созданный сгенерированный каталог, он временный и сильно меняется при работе в наших источниках, поэтому /dist не поддерживается версией.
  • на вашем пакете .json вы можете добавить script с именем postinstall с этим процессом сборки, предположим, что у вас есть задача в gulp, называемая сборкой... так что "postinstall": "gulp build"
  • если вы также управляете зависимостями вашего проекта в gower, npm install --save bower и "postinstall": "./ node_modules/bower/bin/bower install & gulp build"

Просто простой пример, созданный для вашего package.json

{
   "dependencies: {
    "bower":"^1.8.0",
    "grunt":"^1.0.1",
   },
   "scripts": {
    "start": "node ./www.js",
    "build": "grunt dist",
    "postinstall": "./node_modules/bower/bin/bower install && npm run build"
   }
}

Очевидно, что вы, вероятно, сделали и теперь лучше... Я просто ссылаюсь на него для следующих консультаций.

Ответ 3

Я думаю, вы не добавили файлы в git. Какой бы файл вы ни редактировали на своем локальном компьютере, вам нужно git add xyz.ext, git commit -m "Message", git push heroku master -u (-u сохранит параметры 'heroku master', поэтому в будущем для добавления вам понадобится только набрать git push) , Короче говоря, каждый раз, когда вас просят развернуть приложение, вам нужно git add, git commit, git push. Надеюсь, это поможет.

Ответ 4

Я не знаю, почему это сработало, но я изменил местоположение моего angular /dist с [root]client/dist на [root]/dist, который находится на том же уровне каталога, что и server.js

Ответ 5

Добавление этих двух строк в server.js сработало для меня:

var distDir = __dirname + "/dist/"; app.use(express.static(distDir));

Моя структура dist выглядит следующим образом:

enter image description here