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>.