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

53 lines
7.4 KiB
Markdown

# Июнь 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](https://v4.webpack.js.org/concepts/entry-points/), [Code Splitting](https://v4.webpack.js.org/guides/code-splitting/), [Optimization](https://v4.webpack.js.org/configuration/optimization/) и [Output](https://v4.webpack.js.org/concepts/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](https://v4.webpack.js.org/concepts/entry-points/) и [ограничения entry-point splitting](https://v4.webpack.js.org/guides/code-splitting/).
- Объяснение разделяет исходный файл, граф достижимости и emitted chunk. В тексте нет ложного вывода, что общий путь на диске автоматически создаёт общий chunk.
- Массив файлов описан как один multi-main entry, а два самостоятельных HTML-документа — как два object entry. Новые entry-API не подставляются в пример Webpack 4.
### Диагностика: рост bundle после нового entry
- Поля `assets`, `chunks`, `modules` и entrypoint-данные сверены с [Stats Data](https://v4.webpack.js.org/api/stats/) Webpack 4; команда и формат CLI — с [документацией CLI](https://v4.webpack.js.org/api/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.