1. Официальное объяснение
По сути, веб-пакет — это статический модульный инструмент для упаковки текущих приложений JavaScript. (Это предложение можно свести к двум пунктам: модули и упаковка )
Давайте поговорим о концепциях модулей и упаковки !
2. Модульность внешнего интерфейса.
3. Как разобраться в упаковке?
Сравнение между webpack и grunt/gulp.
Ядром grunt/gulp является Task.
1. Вы можете настроить серию задач и определить транзакции , которые будут обрабатываться задачами (например, ES6, преобразование ts, сжатие изображений, преобразование scss в css).
2. Затем позвольте grunt/gulp выполнить эти задачи последовательно и автоматизируйте весь процесс ,
чтобы увидеть задачу gulp.
1. Следующая задача — преобразовать все js-файлы в src в синтаксис ES5.
2. И наконец вывод в папку dist.
Когда использовать хрюканье/глоток?
1. Зависимости модулей проекта очень простые, а концепция модульности даже не используется.
2. Просто используйте grunt/gulp для простого слияния и сжатия.
3. Если во всем проекте используется модульное управление и взаимозависимость очень сильная, можно использовать вебпак.
В чем разница между grunt/gulp и webpack?
1. grunt/gulp уделяет больше внимания автоматизации процессов внешнего интерфейса, а модульность не является его основой.
2. В Webpack больше внимания уделяется модульному управлению разработкой, и такие функции, как сжатие файлов, слияние и предварительная обработка, входят в его состав.
(для нормальной работы wepack должен полагаться на среду узла , а среда узла должна быть установлена). требуется для нормального выполнения. Используйте инструмент npm для управления различными зависимыми пакетами в узле.
1. Анализ файлов и папок.
Ниже приведен код в файлах mathUtils.js и файле main.js : (спецификация модуляризации CommonJS, CommonJS — стандарт модульности, nodejs — реализация CommodJS (модуляризация))
2. Команда
webpack ./src/main.js ./dist/bundle.js (упаковать файл main.js в файл Bundle.js).
Описание: Таким же образом вы также можете использовать модульную спецификацию ES6.
3. Создайте файл webpack.config.js, чтобы упростить команду упаковки
(сопоставьте команду упаковки с входом и выходом упаковки.
Код в этом файле):
запись: Для упакованного
вывода записи: нам необходимо динамически получать путь в пакетном
Описание кода: если вы хотите использовать node, вы должны полагаться на файл package.json.
После запуска npm install [email protected] --save-dev зависимости добавляются следующим образом:
4. Сопоставление команд веб-пакета с запуском npm
Помимо сопоставления веб-пакета с входом и выходом , вы также можете сопоставить команды веб-пакета с запуском npm для некоторых операций (необходимо изменить в теге скрипта **"script"** в файле package. json). .
1. Что такое загрузчик?
Теперь давайте подумаем, для чего используется веб-пакет?
2. Процесс использования загрузчика
1)
Подготовительные работы для обработки css-файла:
1. В каталоге src создайте css-файл. , создайте в нем файл Normal.css
2. Реорганизуйте структуру каталогов файла и поместите разбросанные js-файлы в папку js
3. Код в файлеnormal.css очень простой, то есть установите тело в красный цвет
4. Но стиль в обычном.css в это время не вступит в силу, потому что на него нет ссылки, и вебпак не может его найти, потому что у нас только одна запись, и вебпак будет искать другие зависимые файлы, начиная с этой записи.
5. На данный момент мы должны сослаться на него в файле main.js, входном файле.
После этого нам нужно импортировать соответствующий загрузчик для использования!
Шаг 1. Установите нужный загрузчик через npm.
(npm install --save-dev css-loader) (npm install --save-dev style-loader)
На официальном сайте вебпака найдите следующий способ использования загрузчика стилей:
Шаг 2. Создайте инструкции по настройке под ключевым словом модулей в файле webpack.config.js
: css-loader отвечает только за загрузку файлов CSS и не отвечает за встраивание определенных стилей CSS в документы.
На данный момент нам также нужен файл style-. загрузчик поможет нам обработать
Примечание. Style-loader необходимо размещать перед css-loader.
2) Шаг обработки меньшего файла
1 : Установите соответствующий загрузчик (примечание: здесь также установлен less, поскольку веб-пакет будет использовать less для компиляции меньшего файла). Команда: npm install --save-dev less-loader less
Шаг 2. Измените соответствующий файл конфигурации (в webpack.config.js) и добавьте параметр правил для обработки файлов .less. следующее:
3) Обработка файла изображения
. Шаг 1. Добавьте в проект два изображения (одно меньше 8 КБ, другое больше 8 КБ).
Шаг 2. Сначала рассмотрите возможность ссылки на изображение в стиле CSS, как показано ниже.
Шаг 3. Измените соответствующий файл конфигурации (в webpack.config.js) и добавьте параметр правил для обработки файлов изображений. следующее:
Шаг 4 : После упаковки обнаружена ошибка, так как изображения размером более 8кб будут обрабатываться через file-loader , а в нашем проекте файлового загрузчика нет. (Вам необходимо установить file-loader , командой npm install --save-dev file-loader. После установки и упаковки вы обнаружите, что в папке dist есть дополнительный файл образа.
Описание:
Обнаружено, что веб-пакет автоматически генерирует для нас очень длинное имя
1. Это 32-битное хэш-значение для предотвращения дублирования имен.
2. Однако в реальной разработке могут быть определенные требования к имени упакованного образа
. Поэтому в настройках мы можем добавить следующие параметры:
1. img: папка, в которую должен быть упакован файл.
2. имя: получите оригинальное название изображения и поместите его в это место.
3. Хэш8: во избежание конфликтов имен изображений по-прежнему используется хэш, но сохраняется только 8 бит.
4. ext: используйте исходное расширение изображения следующим образом:
Вам также необходимо позже настроить и изменить путь, используемый изображением
. 1. По умолчанию веб-пакет вернет пользователю сгенерированный путь.
2. Однако вся программа упакована в папку dist, поэтому здесь нужно добавить в путь еще один dist/.
следующее:
Вкратце, после упаковки файл образа выглядит так
4), от ES6 до ES5
Шаг 2. Импортируйте Vue в main.js (импортируйте Vue из «vue») следующим образом.
Шаг 3. Повесьте p на экземпляр vue в index.html следующим образом:
Шаг 4. После упаковки обнаружена ошибка. Нам нужно указать, что используемая нами версия vue — это версия компилятора времени выполнения .
Конкретные операции: вам нужно добавить разрешение в веб-пакет и взять псевдоним ( alias ), как показано ниже:
Шаг 1. Повесьте p на экземпляр vue в index.html.
Шаг 2. Импортируйте компонент APP в файл main.js , зарегистрируйте приложение в экземпляре Vue и используйте компонент APP в шаблоне Vue ( компонентизация ).
Шаг 3. Создайте файл APP.vue и отделите шаблон страницы vue от кода js и кода css , как показано ниже.
Шаг 4. Настройте соответствующий загрузчик vue.
Измените файл конфигурации webpack.config.js:
1. Понимание плагина
2. Webpack — добавьте информацию об авторских правах. Использование плагина.
3. Пакет HTML-плагина
4. Плагин сжатия js
. Webpack предоставляет дополнительный локальный сервер разработки . Этот локальный сервер построен на основе node.js и внутри использует экспресс-инфраструктуру. Он позволяет браузеру автоматически обновляться и отображать измененные результаты. .
Однако это отдельный модуль. Его необходимо установить перед использованием в webpck. Команда: (npm install --save-dev [email protected])
devserver также является опцией в webpack . можно установить следующим образом:
1. contentBase: какая папка предоставляет локальные службы. По умолчанию это корневая папка. Здесь нужно указать ./dist.
2. порт: номер порта
3. встроенный: обновление страницы в реальном времени.
4. HistoryApiFallback: на странице SPA
конфигурация файла webpack.config.js режима истории, основанная на HTML5, изменяется следующим образом:
Параметр –open означает прямое открытие браузера.
Кроме того,
ниже мы хотим разделить файлы конфигурации веб-пакета: то есть разделить то, что нужно для разработки , и то, что используется для публикации ( компиляции ). следующее:
1. Что означает CLI?
. Предварительные условия для использования Vue CLI — Node (необходимо установить Node).
Однако для использования Node необходимо использовать npm .
Что такое NPM?
3. Используйте Vue CLI для
установки каркаса Vue
npm install -g @vue/cliПримечание. Установленная выше версия — это версия Vue CLI3. Если вы хотите инициализировать проект в соответствии с методом Vue CLI2,
инициализация
невозможна.
проект Vue CLI2
vue init webpack my -project