2016-05-12 6 views
3

Google Pagespeed очень часто жалуется, что HTML недостаточно проинструктирован. В моем случае может быть достигнуто сокращение на 13%. Это немного, но мне любопытно узнать.Есть ли способ получить улучшенный HTML-код в JSF?

Я использую JSF 2, PrimeFaces, OmniFaces и GlassFish. Сжатие в Glassfish включено. Все мои ресурсы (CSS и Javascript) минимизированы и объединены с CombinedResourceHandler OmniFaces. Итак, все оптимизировано для Интернета.

Google recommends использовать HTML-Minifier. Но это невозможно с JSF.

Есть ли что-то еще, что я не знаю, чтобы получить лучшие результаты?

+0

Хороший вопрос +1. Я предполагаю, что вам нужно будет расширять сервлет jsf и добавить некоторый minifier до того, как будет выполнен ответ. Не принимай мои слова за это, это просто дикая догадка. Надеюсь, кто-то более опытный ответит на ваш вопрос, хотя, да, вы знаете, кто. – Ced

+0

поставьте еще один сервер вперёд или используйте сервис, подобный cloudflare, и уменьшите «на лету». – YOU

+0

На самом деле мы используем Nginx перед Glassfish, и я просто понял, что PageSpeed ​​предоставляет модуль для nginx. Я дам ему попробовать. (Сначала обсудите это с моим системным администратором). Я сообщу, когда получу некоторые результаты. Во всяком случае, возможно, есть потенциал оптимизации здесь, как JSF генерирует HTML. – codyLine

ответ

0

MyFaces Core обеспечивает способ включения сжатия пробелов html с 2.1.10.

+0

, если вы используете кодировку gzip (что вам нужно), непрозрачное сжатие не требуется в том смысле, что когда это происходит много, gzip назначит ему короткий код, и результат будет фактически таким же – Kukeltje

+0

Обратите внимание, что gzip требует буферизации ответа , что увеличивает использование памяти сервера. Сжатие здесь выполняется во время компиляции, поэтому оно выполняется только один раз. Сжатие Gzip также увеличивает использование процессора, так как оно применяется для каждого запроса. Вместо этого, мой совет - использовать сервер apache для кэширования gzipped-копии ресурсов (js и css-файлов) и позволить динамическому контенту (html) без сжатия gzip (но с сжатием белого пространства). – lu4242

+0

@BalusC Это тоже интересно. Может быть приятной особенностью в Omnifaces? – codyLine

0

Мы используем frontend-maven-plugin в сочетании с глотком. Это позволяет писать машинописные тексты и меньше/sass и создавать файлы с ограниченными ресурсами (пачки, zipped и т. Д.).

Вы можете нанести на https://github.com/ButterFaces/ButterFaces

+0

О, интересно, никогда не слышал о ButterFaces bevor. Можно ли объединить его с первичными и Omnifaces? – codyLine

+0

Да, он работает с OmniFaces из коробки. Чтобы использовать его в сочетании с PrimeFaces, вам нужно будет сделать небольшую вещь https://butterfaces.gitbooks.io/butterfaces/content/primefaces_integration.html –