Files
huncode a84cb93208
Build and deploy / deploy (push) Successful in 13s
clarify webpack asset examples
2026-07-31 09:30:51 +03:00

7.4 KiB

Июнь 2018 — тройное ревью Webpack 4

Партия подготовлена для отдельной интеграции:

  • editorial-2018-06-practice-webpack-entry
  • editorial-2018-06-mechanism-webpack-entry
  • editorial-2018-06-field-webpack-entry

Дата повторной проверки: 31 июля 2026 года. Пакет принят в публикационный слой: скрипт печатает ревизии, а web/data/editorial-revisions.mjs сопоставляет их только по стабильным slug, не меняя даты, автора и базовый архив.

1. Факты и техника — пройдено

Практика: две страницы без двойной перевозки общего кода

  • Основой стали официальные страницы Webpack 4: Entry Points, Code Splitting, Optimization и Output.
  • Конфигурация использует синтаксис Webpack 4: object entry, optimization.splitChunks и runtimeChunk: 'single'. Отдельный vendor entry не выдан за рекомендуемый путь: документация v4 прямо направляет разделение vendor/app-кода в splitChunks.
  • minSize: 0 помечен учебным условием для маленького примера, а не универсальной production-настройкой. Текст называет риск лишнего запроса и требует проверить фактические script-теги.

Механизм: один import в двух entry bundle

  • Сверены object/array-синтаксис entry и ограничения entry-point splitting.
  • Объяснение разделяет исходный файл, граф достижимости и emitted chunk. В тексте нет ложного вывода, что общий путь на диске автоматически создаёт общий chunk.
  • Массив файлов описан как один multi-main entry, а два самостоятельных HTML-документа — как два object entry. Новые entry-API не подставляются в пример Webpack 4.

Диагностика: рост bundle после нового entry

  • Поля assets, chunks, modules и entrypoint-данные сверены с Stats Data Webpack 4; команда и формат CLI — с документацией CLI.
  • Диагностический фрагмент не трактует присутствие модуля в нескольких chunks как готовое доказательство скачивания. Статья требует проверить HTML и Network отдельно.
  • Размер ассета в stats не выдан за сетевой transfer size: явно названы влияние сжатия, кеша, режима сборки и source map. В текст не добавлены вымышленные замеры, пользователи или результаты.
  • Третий редакторский проход после независимого quality-gate: первое предложение теперь начинается с явного маркера «Симптом» и называет наблюдаемые site.[contenthash].js и admin.[contenthash].js в Network; цена ошибки сохранена — пользователь скачивает код панели, которой не откроет.

2. Редактура и голос — пройдено

  • Каждый текст отвечает на отдельный вопрос: настройка двух страниц, причина дублирования в графе, расследование роста ассетов.
  • Проблема и цена ошибки стоят в первом абзаце; далее идут конкретные куски конфигурации, проверка и ограничение.
  • Проза без кода, источников и разметки: 5 502, 5 177 и 6 024 знака соответственно. Все значения входят в интервал 5 000–15 000.
  • Тон оставлен на уровне 2018 года: короткая техническая речь, локальный пример, ручная проверка. Нет позднего инфраструктурного жаргона, неподкреплённых метрик и шаблонов массового архива.
  • Общие слова заменены условиями: что является entry, когда общий модуль считается кандидатом на chunk, что нужно увидеть в stats и Network.
  • Во всех трёх ревизиях список источников теперь начинается точным отдельным заголовком <h2>Проверяемые источники</h2> непосредственно перед <ul>.

3. Визуал и передача — пройдено с оговоркой

  • Для каждого текста создана отдельная SVG-схема: путь общих chunks, граф двух entry и дерево диагностики. В каждой статье есть осмысленные alt и подпись.
  • SVG не менялись в этой коррекции и повторно прошли xmllint --noout; первая визуальная проверка через локальный Quick Look остаётся актуальной. Схемы уже переделаны в вертикальные viewBox 720px, чтобы текст оставался читаемым на узкой ширине, а не только на desktop.
  • У каждой ревизии есть 1 рисунок, 1 таблица, 3 блока кода, нумерованная последовательность действий и 3–4 первичных источника.
  • node --check web/scripts/upgrade-2018-06.mjs прошёл. node web/scripts/upgrade-2018-06.mjs --print-revisions вернул только валидный JSON из трёх ревизий, без stderr.
  • Безопасный import проверен отдельно: импорт возвращает revisions, не печатает Usage и не меняет process.exitCode. Вывод Usage доступен только при прямом запуске скрипта без флага.
  • После интеграции основной агент повторно прогнал strict audit всех трёх slug и production build. Сборка прошла и сгенерировала 374 статические страницы.

Статус: принят к публикации. В этой зоне не изменялись базовый архив статей, общий стандарт, аудит-скрипты и история Git.