Рубріки: Теория

Модули в JavaScript: основные возможности

Светлана Лазутина

Сложные программы обычно содержат сотни строк кода, в которых тяжело ориентироваться. Организовать ваш код в JavaScript помогут модули. Разбираемся, что это такое, как их используют и зачем нужны сборщики модулей. 

Что такое модуль

Модули — это кусочки кода, которые хранятся в отдельных файлах. Это делает код более понятным и простым в обслуживании. Если вы используете модули, то имена всех функций и переменных будут уникальны в пределах одного файла. Поэтому внутри модуля можно просто назвать функцию «Hello». Кроме того, файлы можно использовать и для других проектов вместо того, чтобы копировать и вставлять строки программного кода. 

Основные возможности модулей

Для работы с модулями на JavaScript используется строгий режим. При использовании use strict система будет моментально реагировать на ошибки в коде. Чтобы использовать строгий режим, нужно напечатать use strict в первой исполняемой строке скрипта. В этом режиме вам будет проще найти ошибки в коде, а в новых версиях языка программа сможет адекватно функционировать. 

Вот пример кода, который не будет работать в режиме use strict:  

'use strict';
let undefined = 5; 
let Infinity = 5;
 
let obj = {};
Object.defineProperty(obj, 'foo', { value: 1, writable: false });
obj.foo = 1
 
let obj2 = { get foo() { return 17; } };
obj2.foo = 2
 
let fixedObj = {};
Object.preventExtensions(fixedObj);
fixed.bar= 1;

В этом коде undefined и Infinity — глобальные сущности, и их значения нельзя переписать, как и свойство foo объекта obj.

Отметим, что современные браузеры без проблем поддерживают use strict. Пользуйтесь этим режимом, чтобы не допускать ошибок в коде и повысить безопасность и работоспособность программ. 

Особенности использования модулей в браузерах

Модули JavaScript можно использовать и для работы с браузерами.

Современные браузеры поддерживают использование модулей у 92,81% пользователей интернета.

Браузеры, в которых поддерживается использование модулей у пользователей / Данные caniuse.com

Браузер загружает модуль, выполняя запрос GET. Чтобы не блокировать загрузки, работу браузера и HTML-кода, это делается асинхронно. 

В браузере можно загрузить модуль, определив его и использовав тег скрипта для загрузки. Например, модуль hello.js можно загрузить следующим образом:

export const hello = "Hello";

Прописываем другой модуль с именем index.js:

import { hello } from "./hello";
document.querySelector("#app").innerHTML = hello;

Затем загружаем их с помощью скрипта:

<script type="module" src="src/hello.js"></script>
<script type="module" src="src/index.js"></script>

Добавляем

<div id="app"></div>

И на экране появится Hello.

Инструменты сборки

Чтобы не загружать файлы по одному в браузер, существуют сборщики модулей. Например, для модулей CommonJS есть сборщик Browserify, а для AMD, CommonJS и ES6 — Webpack. Сборщик объединяет наши модули в один файл, чтобы не приходилось вручную прописывать путь к каждому из них.

Чтобы подключить сборку, не нужно печатать в коде команду import или export. Ее можно подключить к браузеру как обычный скрипт. К примеру, если вы собрали нужные модули в файл bundle.js с помощью Webpack или Browserify, то запустить его можно с помощью одной строчки кода:

<script src="bundle.js"></script>

Выводы

Использование модулей может сильно упростить жизнь программисту:

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

Только не забывайте пользоваться строгим режимом при работе с модулями, иначе ничего не будет работать.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024