2016-02-18 4 views
3

После того, как закончен и протестирован приложение Angular2 на моем локальном компьютере, я решил переместить . это облако сервера AWS с Apache я клонировал ЮЗ от мерзавца, но, как только я начал приложение, я получил сообщение об ошибке на консоли браузера, указав:Ошибка Angular2 после развертывания на сервере AWS »« Только пустотные и посторонние элементы могут быть самозакрытыми «голова» («[ERROR ->] <head/>»

EXCEPTION: Template parse errors: 
Only void and foreign elements can be self closed "head" ("[ERROR ->]<head/> 

После некоторых исследований я обнаружил, что все моих внешних html-шаблонов волшебным образом обогащен стартовым тегом <head/>, который я не вижу в моем коде. Чтобы исправить это, мне пришлось отключить mod-pagespeed. Поскольку я не знаком с конфигурацией Apache, я не знаю, какие побочные эффекты это могут иметь и есть ли лучшее решение. Любая помощь будет очень высоко ценится.

+0

Он не должен ничего делать с apache, а также не для ''. Вы не можете использовать самозакрывающиеся теги в шаблонах angular2, детали [здесь] (https://stackoverflow.com/questions/34692928/exception-template-parse-errors-only-void-and-foreign-elements- может-быть сам-кло/39034132 # 39034132). – peterh

ответ

0

Я верю, что mod-pagespeed имеет возможность, когда он автоматически добавляет тег head в документ html, если он не может найти его в документе (перед телом). Чтобы отключить эту функцию, добавьте в ваш PageSpeed ​​конфигурации Apache (т.е. в .htaccess.):

Чтобы предотвратить JavaScript изменения также запретить еще пару фильтров

ModPagespeedForbidFilters add_head,rewrite_javascript,rewrite_javascript_inline,combine_javascript,inline_javascript 

Таким образом, вы можете насладиться отдыхом функции mod-pagespeed :)

+0

Я включил mod-pagespeed и применил фильтр согласно вашему предложению. Теперь все работает намного лучше, но я по-прежнему вижу странное поведение: на Safari (Mac) на консоли отображается сообщение об ошибке «ReferenceError: Невозможно найти переменную: скорость страницы» на угловом2-polyfills.js 177; на Chrome появилась другая ошибка «Неотдача ReferenceError: скорость страницы не определена на VM2699 14: 1; на Firefox все работает. У вас есть представление о возможных причинах? Спасибо заранее – Picci

+0

@Picci Я отредактировал свой ответ. Вы можете попробовать отключить все эти фильтры в первую очередь .. и вернуться к своему пути, чтобы узнать, какой из них вызывает его. Если это не сработает, можете ли вы указать ссылку на место размещения? – PierreDuc