2016-12-08 3 views
1

У меня есть приложение с угловым шрифтом2.Angular2 GZIP проблема, когда я запускаю приложение

Я принимаю Firebase и использую cloudflare для скорости, кеширования и защиты.

Заголовок браузер говорит: Accept-Encoding: GZIP, выкачать, SDCH, уш

Это конвертируется в app.js файл и уменьшенная теперь 1.6MB.

I then GZIP Сжатый этот файл app.js.

Я хочу использовать файл app.js, который теперь сжат GZIP, а не оригинальный файл app.js 1.6mb. Поэтому, я указываю на файл app.js.gz на моей странице index.html, и я получаю ошибку браузера под названием:

app.js.gz: 1 неперехваченным SyntaxError: Invalid или неожиданный маркер

Ниже приведен скриншот моего файла app.js и index.html.

enter image description here

Позвольте мне знать, если вы запрашиваете какие-либо больше информации или экран грейферов.

Кажется, мне нужно сделать что-то еще, чтобы оно работало. Должен ли я использовать некоторые настройки cloudflare, чтобы принять файл .gz или что-то еще?

+0

Вам не нужно указывать файл app.js.gzip, просто включите его, приложение app.js, служба запросит версию gzipped на лету. – Manish

+0

Yeh, но это слишком медленное приложение, когда я делаю это, например. Четыре секунды – AngularM

+0

Я не это имел в виду. что я говорил, если ваш сервер настроен правильно, он автоматически выбирает gzipped-версию, вам не нужно включать gzipped-версию. http://stackoverflow.com/questions/39803472/what-is-bundle-js-gz-file-in-angular-2/39804016?noredirect=1#comment69303161_39804016 – Manish

ответ

2

Эти gzips являются мясом для веб-серверов, которые могут использовать предварительно загруженные файлы, которые им не нужны, чтобы их обрабатывать с каждым запросом или кэшировать. После этого js передается сжатым, а браузер/облачный флаг обрабатывает остальные. Поэтому вам не нужно редактировать теги скриптов, чтобы использовать gzip или не использовать его.

Но вы можете просто использовать nginx и включить gzip (и не использовать .gz) для нескольких запросов от cloudflare.

+0

Я посмотрел на ленивую загрузку, и это кажется простым. Может ли это быть суетливым? И это уменьшит мои приложения. 4-секундное время загрузки. – AngularM

+0

. Это зависит от того, у вас будут меньшие «подмодули», но вы не можете импортировать напрямую между ними, не разрушая преимущества, но это ускорит и ускорит запуск приложения, если вам не нужен весь код для маршрута, но код, необходимый для другого маршрута, будет загружен позже, и страница не появится мгновенно. – Julian

+0

В идеале, ленивый загружает мои страницы и страницы администратора в глубину сайта? – AngularM