Я только что закончил работу над приложением на своем компьютере. Это странное приложение, использующее комбинацию Symfony2 и Angular. Приложение работает нормально локально, в режиме разработчика и производства. Но когда я загружаюсь в Heroku, я получаю множество ошибок на лицевой стороне:
Я обновлю этот оригинальный вопрос любым новым контентом, который может понадобиться, чтобы ответить на этот вопрос. Кажется, что скрипты не загружаются или что-то еще? Мой.gitignore не сдерживает все папки, которые его содержат, поэтому он должен быть загружен в герою.
редактировать
Я просматриваю загруженное содержимое страницы приложения (размещенное на Heroku), и кажется, что некоторые скрипты загружаются, а другие - нет. Я могу щелкнуть один скрипт в источнике, и я получаю пустую страницу, а другой скрипт (который загружен) и загружает скрипт (.js).
Это легко. Если вы посмотрите ответы на запросы, вы, вероятно, увидите, что вы получаете HTML для каждого файла вместо фактического файла js/css.
Я предполагаю, что вы используете html5mode
так что это обычно означает, что ваш сервер (Nodejs) не настроен должным образом или вам не хватает <base href="/">
в вашем индексе.
Правильный способ настройки NodeJS для html5mode
:
//Look for statics first
var oneHour = 3600 * 1000;
app.use(express.static(path.join(__dirname, '..', 'public'), {maxAge: oneHour}));
//If miss, check API routes - not mandatory of you don't have API
app.use(require('./routers/api'));
//Return the index for any other GET request
app.get('/*', function (req, res) {
res.sendFile('index.html', {root: path.join(__dirname, '../public')});
});
В другом случае вы просто не передавали js файлы героку, поэтому файл не существует, и вы получаете индекс по умолчанию.
Этот ответ может помочь qaru.site/questions/10900452/...
и я думаю, что у карт google есть некоторые проблемы с наследованием
<base href="/">
в моем индексе.