You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Концепция модулей как способа организации JavaScript-кода существовала давно.
5
+
6
+
Когда приложение сложное и кода много -- мы пытаемся разбить его на файлы. В каждом файле описываем какую-то часть, а в дальнейшем -- собираем эти части воедино.
7
+
8
+
Модули в стандарте EcmaScript предоставляют удобные средства для этого.
9
+
10
+
Такие средства предлагались сообществом и ранее, например:
Все они требуют различных библиотек или систем сборки для использования.
19
+
20
+
Новый стандарт отличается от них прежде всего тем, что это -- стандарт. А значит, со временем, будет поддерживаться браузерами без дополнительных утилит.
21
+
22
+
Сейчас браузерной поддержки почти нет. Поэтому ES-модули используются вместе с системами сборки, такими как [webpack](http://webpack.github.io/), [brunch](http://brunch.io/) и другими, при подключённом [Babel.JS](https://babeljs.io).
23
+
24
+
25
+
## Что такое модуль?
26
+
27
+
Модулем считается файл с кодом.
28
+
29
+
В этом файле ключевым словом `export` помечаются переменные и функции, которые могут быть использованы снаружи.
30
+
31
+
Другие модули могут подключать их через вызов `import`.
32
+
33
+
Нагляднее всего это проиллюстрировать примером.
34
+
35
+
Модуль `one.js` экспортирует переменную `one`:
36
+
37
+
```js
38
+
exportlet one =1;
39
+
```
40
+
41
+
Модуль `two.js`:
42
+
```
43
+
let two = 2;
44
+
45
+
export {two}
46
+
```
47
+
48
+
49
+
[codetabs src="nums"]
50
+
51
+
52
+
53
+
То есть, браузер, в котором есть поддержка модулей, или система сборки ("сегодняшний" вариант)
54
+
55
+
Модуль -- это файл со специальными командами:
56
+
57
+
<ul>
58
+
<li>Экспорты -- </li>
59
+
60
+
61
+
62
+
63
+
64
+
65
+
Общее между ними
66
+
67
+
Модуль -- способ организации кода по файлам. Каждый файл
0 commit comments