Модули
В модульном программировании разработчики разбивают программы на отдельные блоки функциональности, называемые модулями.
Каждый модуль имеет меньшую поверхность взаимодействия, чем полная программа, что делает верификацию, отладку и тестирование тривиальными. Хорошо написанные модули обеспечивают надёжные абстракции и границы инкапсуляции, так что каждый модуль имеет согласованную структуру и чёткую цель в рамках всего приложения.
Node.js поддерживает модульное программирование практически с момента своего создания. Однако поддержка модулей в веб-среде была медленной. Существует множество инструментов, которые поддерживают модульный JavaScript в веб-среде, с различными преимуществами и ограничениями. webpack использует опыт, полученный от этих систем, и применяет концепцию модулей к любому файлу в вашем проекте.
Что такое модуль webpack
В отличие от модулей Node.js, webpack модули могут выражать свои зависимости различными способами. Вот несколько примеров:
- Оператор ES2015
import - Оператор CommonJS
require() - Оператор AMD
defineиrequire - Оператор
@importвнутри файла css/sass/less. - Ссылка на изображение в файле стилей
url(...)или HTML<img src=...>.
Поддерживаемые типы модулей
webpack поддерживает модули, написанные на различных языках и с помощью различных препроцессоров, через загрузчики. Загрузчики описывают webpack, как обрабатывать не-JavaScript модули и включать эти зависимости в ваши пакеты. Сообщество webpack разработало загрузчики для широкого круга популярных языков и обработчиков языков, включая:
И многие другие! В целом, webpack предоставляет мощный и богатый API для кастомизации, позволяющий использовать webpack для любого стека, оставаясь нейтральным по отношению к вашим рабочим процессам разработки, тестирования и производства.
Полный список см. на странице списке загрузчиков или напишите свой собственный.
© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/concepts/modules