pixelperfect-tool npm version

Модуль для накладывания скриншотов макетов поверх верстаемых страниц. Позволяет:

История версий.

Горячие клавиши

Работают, когда фокус на <body>. Результат настроек сохраняется в localStorage.

Прямое подключение скрипта

<script>
  window.pixelperfect = {
    breakpoints: [320, 768, 1260, 1380, 1600],
    folder: 'img/pixelperfect'
  };
</script>
<script src="https://efiand.github.io/pixelperfect-tool/pixelperfect.min.js" defer></script>

Отсутствие в production-режиме изображений PP и кода подключения скрипта – настраивается разработчиком отдельно исходя из возможностей его сборки.

Подключение модуля

Установка: npm i -DE pixelperfect-tool.

Модуль инициализирует библиотеку только один раз независимо от количества вызовов.

Добавление в систему сборки как есть

window.pixelperfect = {
  breakpoints: [320, 768, 1260, 1380, 1600],
  folder: 'img/pixelperfect'
};

export * from 'pixelperfect-tool/loader.js';

Использование лоадера

import loadPixelperfect from 'pixelperfect-tool';

loadPixelperfect({
  breakpoints: [320, 768, 1260, 1380, 1600],
  folder: 'img/pixelperfect'
});

Vue-компонент

Renderless-компонент с возможностью добавления опций.

<template>
  <pixelperfect-tool :options="pixelperfectOptions" />
</template>

<script lang="ts" setup>
  import type { PixelperfectOptions } from 'pixelperfect-tool';
  import PixelperfectTool from 'pixelperfect-tool/vue';

  const pixelperfectOptions: PixelperfectOptions = {
    breakpoints: [320, 768, 1260, 1380, 1600],
    folder: 'img/pixelperfect'
  };
</script>

Nuxt-модуль

Предоставляет вышеупомянутый vue-компонент PixelperfectTool, инициализирующий библиотеку на клиентской стороне только в dev-режиме.

Подключение модуля в nuxt.config.ts:

export default defineNuxtConfig({
  modules: ['pixelperfect-tool/nuxt'],

  // Кастомный путь к изображениям, чтобы они не попадали в билд
  nitro: {
    ...(process.env.NODE_ENV === 'development'
      ? {
          publicAssets: [
            {
              baseURL: 'pixelperfect', // доступен в браузере как /pixelperfect
              dir: 'dev/pixelperfect' // путь относительно @/server/
            }
          ]
        }
      : {})
  }
});

Использование в приложении отличается только отсутствием необходимости импортировать компонент.

Настройки

Передаются через объект window.pixelperfect. Все настройки опциональны, и если дефолтные подходят, то необходимости создавать объект нет.

Изображения

Формат путей к фоновым изображениям макетов (значения Настроек) – /<folder>/<page>-<breakpoint>.<ext>.