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]()