Как развернуть приложение Angular.js?

Это может быть глупый вопрос, но мне интересно, какую платформу я должен использовать для развертывания моего приложения Angular.js? Я попытался использовать Heroku, но получил сообщение об ошибке "Отсутствие поддержки с помощью кедра". Любые мысли?

ОБНОВЛЕНИЕ

Я пытаюсь выполнить это в heorku как приложение Node.js, но все равно не могу заставить его работать. Там файл web-server.js в корневом каталоге моего приложения, и я ссылаюсь на него в моем Procfile здесь:

web: node web-server.js

И вот мой файл package.json, также в корневом каталоге:

{
"name": "medicare-data",
"version": "0.0.1",
"dependencies": {
},
"engines": {
    "node": "0.10.x",
    "npm": "1.2.x"
},
"respository": "medicare-data",
"author": "sararob"
}

Я получаю "ошибку компиляции пули" в моих журналах heroku. Мысли о том, почему это может не работать?

Ответы

Ответ 1

Вы можете запустить приложение Angular на герою, если оно будет использоваться как приложение node.js. Обычно, когда вы начинаете работать с семплами Angular, в проекте уже есть node веб-сервер script. Я считаю, что если в корне есть файл package.json, heroku обнаружит и запустит его как приложение node.js. Я вернусь и уточню этот ответ более подробно.

ОБНОВЛЕНИЕ

Из документов Heroku (и я не эксперт), он имеет этот проход после раздела развертывания: https://devcenter.heroku.com/articles/nodejs#visit-your-application

который в основном говорит вам убедиться, что у вас один динамический режим. Вы можете сделать это через веб-приложение под настройками своего приложения, или вы можете запустить это:

$ heroku ps:scale web=1

Чтобы убедиться, что процесс запущен, выполните

$ heroku ps
=== web: `node web.js`
web.1: up for 10s

Ответ 2

Бьюсь об заклад, если вы посмотрите на свои журналы, вы увидите что-то вроде этого:

2013-08-26T12:51:18.257006+00:00 heroku[web.1]: Starting process with command `node scripts/web-server.js`
2013-08-26T12:51:19.109974+00:00 app[web.1]: Http Server running at http://localhost:8000/
2013-08-26T12:51:34.369092+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path=/ host=cmwidget.herokuapp.com fwd="77.101.66.230" dyno= connect= service= status=503 bytes=
2013-08-26T12:52:19.445974+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

Это означает, что ваше почтовое приложение Angular использует собственный порт (8000), и Heroku этого не допускает. Вам нужно отказаться от назначения номера порта в Heroku.

Легко фиксируется. Измените scripts/web-server.js и измените это:

this.server.listen(port);

... к этому:

this.server.listen(process.env.PORT || port);

Ответ 3

Я изменил эту строку  var DEFAULT_PORT = 8000; в:  var DEFAULT_PORT = process.env.PORT || 8000;

.. и затем это сработало. Поэтому я считаю, что причина в том, что героику не нравится ваше приложение, работающее на порту 8000.