Spec-Zone.ru › webpack 4

Модули

В модульном программировании разработчики разбивают программы на отдельные блоки функциональности, называемые модулями.

Каждый модуль имеет меньшую поверхность взаимодействия, чем полная программа, что делает верификацию, отладку и тестирование тривиальными. Хорошо написанные модули обеспечивают надёжные абстракции и границы инкапсуляции, так что каждый модуль имеет согласованную структуру и чёткую цель в рамках всего приложения.

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 разработало загрузчики для широкого круга популярных языков и обработчиков языков, включая:

  • CoffeeScript
  • TypeScript
  • ESNext (Babel)
  • Sass
  • Less
  • Stylus
  • Elm

И многие другие! В целом, webpack предоставляет мощный и богатый API для кастомизации, позволяющий использовать webpack для любого стека, оставаясь нейтральным по отношению к вашим рабочим процессам разработки, тестирования и производства.

Полный список см. на странице списке загрузчиков или напишите свой собственный.

Дополнительные материалы

  • JavaScript Module Systems Showdown

© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/concepts/modules

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API