Веб-приложения превратились из статичных, и по мере того, как эти приложения становятся более функциональными и сложными, организация кода становится первостепенной задачей. В приложение добавляется больше кодов, и управление им может стать кошмаром. Так что же такое модуль?

Модуль — это просто файл, который содержит другие файлы с помощью специальных директив, таких как импорт и экспорт. В чем суть этих директив? Что ж, они гарантируют, что файлы доступны за пределами папки (текущего модуля), которая должна быть создана в приложении, что позволяет использовать блок кода за пределами его собственного файла.

Важные примечания о модулях

  • Модули работают только через HTTP(s), а не локально: если вы попытаетесь открыть веб-страницу локально по протоколу file://, вы обнаружите, что директивы import/export не работают. Быстрое решение этой проблемы — использовать расширение живого сервера в вашей локальной среде IDE.
  • Модули всегда работают в строгом режиме. Например. присваивание необъявленной переменной приведет к ошибке.
  • Каждый модуль имеет свою область верхнего уровня. Другими словами, переменные верхнего уровня и функции из модуля не отображаются в других сценариях, если не вызываются переменные, используемые при их объявлении.
  • Старые браузеры не понимают type="module". Скрипты неизвестного типа просто игнорируются. Для них можно предоставить запасной вариант с помощью атрибута nomodule.
  • Код модуля выполняется только один раз. Экспорты создаются один раз и распределяются между импортерами.

По большей части важно понимать концепцию модулей, поскольку она видна во всех фреймворках JavaScript. Примеры этих популярных фреймворков включают Angular, React, Vue и т. д. Но в основном проверяйте, как модули можно использовать исключительно в javascript. здесь

О чем это?

30daysofjavascript — это серия статей о том, как я научился программировать на JavaScript. Эти эпизоды максимально упрощены, и я надеюсь, что для таких новичков, как я, JavaScript станет менее запутанным в этом эпизоде. Как всегда спасибо и увидимся в следующем выпуске. Посмотрите каждую серию, которую я написал здесь.