Скелетонный экран
В последнее время потребности каркасного экрана время от времени использовались в проекте, поэтому я нашел время, чтобы исследовать схему каркасного экрана.Существует уже много практик каркасного экрана, и многие люди ввели свои собственные решения.Здесь по личному разумению я сделал сводку и классификацию и поделился ею со всеми.
Об экране скелета (введение)
Скелетный экран должен показывать пользователю общую структуру страницы перед загрузкой данных страницы, а затем отображать страницу до тех пор, пока не будут возвращены запрошенные данные, и дополнять содержимое данных, которое необходимо отобразить. Он часто используется для страниц списков с правилами относительного сравнения, таких как списки статей и страницы динамических списков.
Во многих проектах есть приложения: например: версия Ele.me h5, Zhihu, facebook и другие сайты имеют приложения.
Возьмите картинку в качестве примера:
Два типа использования
Введение объясняет цель, но может продолжать подразделять:
- Как загрузку маршрутной коммутации в спа, она используется в сочетании с жизненным циклом компонента и временем возврата ajax-запроса.
- В качестве оптимизации для рендеринга над сгибом.
Использование категории 1
Для первого типа использования вам нужно написать свой собственный экран-скелет Мы рекомендуем два решения для настройки компонентов svg, которые являются зрелыми и удобными для настройки в качестве экранов-скелетов.
Рендеринг как первый экран (автоматизированное решение)
Эта схема представляет собой набор схем, обобщённых Ele.me в практике каркасного экрана:
- Структура dom и css каркасного экрана внедряются под узлы в шаблоне, когда они создаются в автономном режиме.
- Принцип, связанныйПринцип реализации плагина eleme каркасного экрана
- Адрес проекта программы:page-skeleton-webpack-plugin
- Примечания при использовании:
- Конфигурация cssUnit: вам нужно использовать адаптивный модуль, выбрать его в соответствии с диапазоном выбора, указанным в документе, и использовать его напрямую.
px
Полученный масштаб будет неуместным - puppeteer имеет около 80M, и он не может быть успешно загружен за один раз во время установки.
- принцип:
通过 puppeteer 在服务端操控 headless Chrome 打开开发中的需要生成骨架屏的页面,在等待页面加载
渲染完成之后,在保留页面布局样式的前提下,通过对页面中元素进行删减或增添,对已有元素通过层叠样
式进行覆盖,这样达到在不改变页面布局下,隐藏图片和文字,通过样式覆盖,使得其展示为灰色块。然后
将修改后的 HTML 和 CSS 样式提取出来,这样就是骨架屏了.
Другие варианты
Привязка SSR Render / Prerender используется:
-
Заранее напишите скелет компонента экрана и внедрите его в html-файл через синтаксический анализ рендеринга ssr (за исключением того, что вам нужно написать его самостоятельно, процесс аналогичен приведенному выше решению автоматизации)Справочная статья
-
Предварительно написанные каркасные компоненты экрана в 1 могут быть заменены картинками (svg) или разработаны дизайнером.
Каркас экрана апплета
- Концепции предварительного рендеринга не существует, но вы все равно можете предварительно написать компонент каркаса экрана и поместить его на страницу, а также обновить страницу после того, как асинхронно запрошенные данные будут возвращены.
Широкая реклама
Эта статья была опубликована вЕженедельный выпуск Mint Front End, Добро пожаловать в Watch & Star ★, пожалуйста, указывайте источник при перепечатке.