0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Модульное программирование - это…</a></li>
1
<ul><li><a>Модульное программирование - это…</a></li>
2
<li><a>Термины и понятия - что может пригодиться</a></li>
2
<li><a>Термины и понятия - что может пригодиться</a></li>
3
<li><a>Модуль - определение</a><ul><li><a>Что можно делать через модули</a></li>
3
<li><a>Модуль - определение</a><ul><li><a>Что можно делать через модули</a></li>
4
<li><a>Несколько слов о преимуществах</a></li>
4
<li><a>Несколько слов о преимуществах</a></li>
5
</ul></li>
5
</ul></li>
6
<li><a>Паттерн "Модуль"</a><ul><li><a>Анонимное замыкание</a></li>
6
<li><a>Паттерн "Модуль"</a><ul><li><a>Анонимное замыкание</a></li>
7
<li><a>Глобальный импорт</a></li>
7
<li><a>Глобальный импорт</a></li>
8
<li><a>Объектный интерфейс</a></li>
8
<li><a>Объектный интерфейс</a></li>
9
<li><a>Раскрывающиеся модули</a></li>
9
<li><a>Раскрывающиеся модули</a></li>
10
</ul></li>
10
</ul></li>
11
<li><a>Подходы к реализации</a><ul><li><a>CommonJS - только начало</a></li>
11
<li><a>Подходы к реализации</a><ul><li><a>CommonJS - только начало</a></li>
12
<li><a>AMD - как название процессора</a></li>
12
<li><a>AMD - как название процессора</a></li>
13
<li><a>UMD</a></li>
13
<li><a>UMD</a></li>
14
</ul></li>
14
</ul></li>
15
<li><a>NodeJS - полноценный движок</a><ul><li><a>Больше о модулях в Node</a></li>
15
<li><a>NodeJS - полноценный движок</a><ul><li><a>Больше о модулях в Node</a></li>
16
</ul></li>
16
</ul></li>
17
</ul><p>JavaScript - язык программирования, который легко выучить, но без должного опыта достаточно трудно применить. Пользоваться им рекомендуется при создании веб-контента, включая серверные приложения.</p>
17
</ul><p>JavaScript - язык программирования, который легко выучить, но без должного опыта достаточно трудно применить. Пользоваться им рекомендуется при создании веб-контента, включая серверные приложения.</p>
18
<p>При создании сложных утилит рекомендуется пользоваться так называемым модульным программированием. В данной статье зайдет речь о том, как применять соответствующую особенность в JS. Также будет рассмотрен один из самых популярных движков, позволяющих реализовывать модули без особых навыков в программировании.</p>
18
<p>При создании сложных утилит рекомендуется пользоваться так называемым модульным программированием. В данной статье зайдет речь о том, как применять соответствующую особенность в JS. Также будет рассмотрен один из самых популярных движков, позволяющих реализовывать модули без особых навыков в программировании.</p>
19
<h2>Модульное программирование - это…</h2>
19
<h2>Модульное программирование - это…</h2>
20
<p>Модульным программированием называется некая организация приложения, которая позволяет рассматривать утилиту в виде нескольких самостоятельных блоков. Структура и поведение оных будут подчиняться тем или иным правилам.</p>
20
<p>Модульным программированием называется некая организация приложения, которая позволяет рассматривать утилиту в виде нескольких самостоятельных блоков. Структура и поведение оных будут подчиняться тем или иным правилам.</p>
21
<p>Данный вариант коддинга позволяет:</p>
21
<p>Данный вариант коддинга позволяет:</p>
22
<ul><li>упростить процедуру написания софта;</li>
22
<ul><li>упростить процедуру написания софта;</li>
23
<li>быстрее и проще обнаруживать ошибки;</li>
23
<li>быстрее и проще обнаруживать ошибки;</li>
24
<li>отделять аппаратно-зависимые задачи в отдельную "категорию";</li>
24
<li>отделять аппаратно-зависимые задачи в отдельную "категорию";</li>
25
<li>создавать утилиты, обладающие высоким уровнем мобильности.</li>
25
<li>создавать утилиты, обладающие высоким уровнем мобильности.</li>
26
</ul><p>Также посредством данной особенности программер на JS или любом другом языке сможет упростить чтение имеющейся кодификации.</p>
26
</ul><p>Также посредством данной особенности программер на JS или любом другом языке сможет упростить чтение имеющейся кодификации.</p>
27
<h2>Термины и понятия - что может пригодиться</h2>
27
<h2>Термины и понятия - что может пригодиться</h2>
28
<p>JS выступает языком веб-утитил, но при определенных обстоятельствах можно сделать его универсальным. В реализации соответствующей задачи поможет определенный движок, который будет рассмотрен позже.</p>
28
<p>JS выступает языком веб-утитил, но при определенных обстоятельствах можно сделать его универсальным. В реализации соответствующей задачи поможет определенный движок, который будет рассмотрен позже.</p>
29
<p>Для начала рекомендуется освежить познания в терминологии коддинга. Без нее изучить модули и написание кодов посредством "блоков" будет весьма проблематично:</p>
29
<p>Для начала рекомендуется освежить познания в терминологии коддинга. Без нее изучить модули и написание кодов посредством "блоков" будет весьма проблематично:</p>
30
<ul><li>алгоритм - инструкции/правила/принципы, используемые для решения поставленных задач;</li>
30
<ul><li>алгоритм - инструкции/правила/принципы, используемые для решения поставленных задач;</li>
31
<li>объект - связанные между собой переменные, которые можно выбирать, а затем производить их обработку;</li>
31
<li>объект - связанные между собой переменные, которые можно выбирать, а затем производить их обработку;</li>
32
<li>классы - объекты, связанные друг с другом, наделенные общими характеристиками;</li>
32
<li>классы - объекты, связанные друг с другом, наделенные общими характеристиками;</li>
33
<li>компиляция - процесс создания из кода на JS или другом "синтаксисе" работающей утилиты;</li>
33
<li>компиляция - процесс создания из кода на JS или другом "синтаксисе" работающей утилиты;</li>
34
<li>константа - значение, не подлежащее корректировке в процессе работы кода;</li>
34
<li>константа - значение, не подлежащее корректировке в процессе работы кода;</li>
35
<li>тип данных - классификация информации того или иного типа;</li>
35
<li>тип данных - классификация информации того или иного типа;</li>
36
<li>массив - группы/перечни схожих друг с другом значений данных, которые можно группировать;</li>
36
<li>массив - группы/перечни схожих друг с другом значений данных, которые можно группировать;</li>
37
<li>исключение - неожиданное/нестандартное/аномальное/нехарактерное поведение программного кода;</li>
37
<li>исключение - неожиданное/нестандартное/аномальное/нехарактерное поведение программного кода;</li>
38
<li>фреймворк - готовый модуль (блок) программного кода, используемый при создании сложных приложений;</li>
38
<li>фреймворк - готовый модуль (блок) программного кода, используемый при создании сложных приложений;</li>
39
<li>переменная - элементарная единица хранилища данных;</li>
39
<li>переменная - элементарная единица хранилища данных;</li>
40
<li>итерация - один полный проход через набор имеющихся операций, работающих с соответствующим кодом;</li>
40
<li>итерация - один полный проход через набор имеющихся операций, работающих с соответствующим кодом;</li>
41
<li>пакет - организованный модуль интерфейсов и классов, связанных между собой.</li>
41
<li>пакет - организованный модуль интерфейсов и классов, связанных между собой.</li>
42
</ul><p>Все перечисленные понятия пригодятся не только при коддинге на JS. Они используются во всех языках программирования и являются своеобразной "базой". Только после осваивания перечисленных понятий можно приступить к полноценному созданию программных кодов.</p>
42
</ul><p>Все перечисленные понятия пригодятся не только при коддинге на JS. Они используются во всех языках программирования и являются своеобразной "базой". Только после осваивания перечисленных понятий можно приступить к полноценному созданию программных кодов.</p>
43
<h2>Модуль - определение</h2>
43
<h2>Модуль - определение</h2>
44
<p>JS является способом создания всевозможных современных быстрых приложений и утилит. Большинство из них относят к серверным. Раньше данный вариант общения с программным и аппаратным обеспечением являлся узконаправленным. Теперь JS с легкостью выступает в качестве универсального средства коддинга. Немаловажную роль в нем играет модульное программирование.</p>
44
<p>JS является способом создания всевозможных современных быстрых приложений и утилит. Большинство из них относят к серверным. Раньше данный вариант общения с программным и аппаратным обеспечением являлся узконаправленным. Теперь JS с легкостью выступает в качестве универсального средства коддинга. Немаловажную роль в нем играет модульное программирование.</p>
45
<p>Модуль - это функционально законченная часть или фрагмент имеющегося приложения. Обычно оформляется как самостоятельный файл с исходным кодом или поименованная непрерывная ее часть. Иногда допускается объединение модулей в так называемые пакеты.</p>
45
<p>Модуль - это функционально законченная часть или фрагмент имеющегося приложения. Обычно оформляется как самостоятельный файл с исходным кодом или поименованная непрерывная ее часть. Иногда допускается объединение модулей в так называемые пакеты.</p>
46
<p>Модулем называют переиспользуемую часть кода, которая содержит в себе:</p>
46
<p>Модулем называют переиспользуемую часть кода, которая содержит в себе:</p>
47
<ul><li>особенности реализации;</li>
47
<ul><li>особенности реализации;</li>
48
<li>предоставление открытого API;</li>
48
<li>предоставление открытого API;</li>
49
<li>возможность применения модуля в другом программном коде.</li>
49
<li>возможность применения модуля в другом программном коде.</li>
50
</ul><p>С помощью модульного программирования составление всевозможных утилит становится более удобным, а иногда - быстрым.</p>
50
</ul><p>С помощью модульного программирования составление всевозможных утилит становится более удобным, а иногда - быстрым.</p>
51
<p>Модули в JS не являются обязательными. Выполнить большинство задач удается и без разбиения кода на "блоки". Большие утилиты лучше всего создавать посредством модулей. Этот процесс позволит даже новичку не запутаться в весьма сложных задачах.</p>
51
<p>Модули в JS не являются обязательными. Выполнить большинство задач удается и без разбиения кода на "блоки". Большие утилиты лучше всего создавать посредством модулей. Этот процесс позволит даже новичку не запутаться в весьма сложных задачах.</p>
52
<h3>Что можно делать через модули</h3>
52
<h3>Что можно делать через модули</h3>
53
<p>Модули в ДжавеСкрипт позволят создать сложный проект "с нуля", а затем использовать имеющиеся "блоки" в будущем. Модульный подход нужно применять, чтобы:</p>
53
<p>Модули в ДжавеСкрипт позволят создать сложный проект "с нуля", а затем использовать имеющиеся "блоки" в будущем. Модульный подход нужно применять, чтобы:</p>
54
<ol><li>Обеспечить абстрагирование кодификации. Функциональные возможности будут передаваться сторонним библиотекам. В их реализации не придется разбираться долгое время.</li>
54
<ol><li>Обеспечить абстрагирование кодификации. Функциональные возможности будут передаваться сторонним библиотекам. В их реализации не придется разбираться долгое время.</li>
55
<li>Провести инкапсуляцию. Данный вариант предусматривает сокрытие кодификации внутри имеющегося модуля. Это помогает "обезопасить" участок приложения от возможных корректировок.</li>
55
<li>Провести инкапсуляцию. Данный вариант предусматривает сокрытие кодификации внутри имеющегося модуля. Это помогает "обезопасить" участок приложения от возможных корректировок.</li>
56
<li>Переиспользовать имеющийся исходный код. Больше не придется снова осуществлять запись одинаковых функций и возможностей JS вручную.</li>
56
<li>Переиспользовать имеющийся исходный код. Больше не придется снова осуществлять запись одинаковых функций и возможностей JS вручную.</li>
57
<li>Производить управление зависимостями. При подобных обстоятельствах нет никакой необходимости в переписи имеющихся фрагментов кодификации.</li>
57
<li>Производить управление зависимостями. При подобных обстоятельствах нет никакой необходимости в переписи имеющихся фрагментов кодификации.</li>
58
</ol><p>Отсюда следует, что, если разработчик хотел или хочет создавать схожие утилиты, сократить время коддинга удается за счет модулей.</p>
58
</ol><p>Отсюда следует, что, если разработчик хотел или хочет создавать схожие утилиты, сократить время коддинга удается за счет модулей.</p>
59
<h3>Несколько слов о преимуществах</h3>
59
<h3>Несколько слов о преимуществах</h3>
60
<p>Модульная разработка обладает огромным количеством плюсов, и не только на Джаве. В случае с JS модули выделяются следующими моментами:</p>
60
<p>Модульная разработка обладает огромным количеством плюсов, и не только на Джаве. В случае с JS модули выделяются следующими моментами:</p>
61
<ol><li>Хорошая поддержка. Модуль в JS выступает в виде самостоятельной части кодификации. Хорошо и грамотно написанный, он во время использования уменьшает зависимости частей кодовой базы. Делается это в максимально возможных объемах. Программу удастся расширять без полной переписи "внутренностей".</li>
61
<ol><li>Хорошая поддержка. Модуль в JS выступает в виде самостоятельной части кодификации. Хорошо и грамотно написанный, он во время использования уменьшает зависимости частей кодовой базы. Делается это в максимально возможных объемах. Программу удастся расширять без полной переписи "внутренностей".</li>
62
<li>Простое обновление. Модуль легко обновляется и не требует значительных изменений в исходной написанной базе. Связано это с обособленностью.</li>
62
<li>Простое обновление. Модуль легко обновляется и не требует значительных изменений в исходной написанной базе. Связано это с обособленностью.</li>
63
<li>Наличие пространства имен. В JS переменные, расположенные за пределами функций верхнего уровня, носят название глобальных. К ним подключаются все желающие, когда в этом возникает потребность. Модули позволяют миновать так называемого загрязнения пространства имен. Достигается такой результат путем загрузки приватных пространств для имеющихся хранилищ информации.</li>
63
<li>Наличие пространства имен. В JS переменные, расположенные за пределами функций верхнего уровня, носят название глобальных. К ним подключаются все желающие, когда в этом возникает потребность. Модули позволяют миновать так называемого загрязнения пространства имен. Достигается такой результат путем загрузки приватных пространств для имеющихся хранилищ информации.</li>
64
<li>Повторное применение. Невозможно встретить два приложения, которые выполняют схожие между собой операции, но сильно отличаются написанной "базой". Особенно если утилиты составлены на одном и том же языке. В JS и других способах общения с ПО и устройствами за счет так называемых модулей могут быть получены готовые "блоки" кода, с легкостью переносимые в иной контент.</li>
64
<li>Повторное применение. Невозможно встретить два приложения, которые выполняют схожие между собой операции, но сильно отличаются написанной "базой". Особенно если утилиты составлены на одном и том же языке. В JS и других способах общения с ПО и устройствами за счет так называемых модулей могут быть получены готовые "блоки" кода, с легкостью переносимые в иной контент.</li>
65
</ol><p>Не стоит думать, что module programming - это только копирование и перенос. Данный вариант развития событий требует от программера определенных навыков и багажа знаний.</p>
65
</ol><p>Не стоит думать, что module programming - это только копирование и перенос. Данный вариант развития событий требует от программера определенных навыков и багажа знаний.</p>
66
<h2>Паттерн "Модуль"</h2>
66
<h2>Паттерн "Модуль"</h2>
67
<p>При создании кодификаций в JS нередко используются так называемые паттерны. Это - шаблоны ООП. Служат неотъемлемой частью разработки текущего поколения. Выступают в виде повторяемой архитектурной конструкции, которая помогает решает разнообразные задачи проектирования.</p>
67
<p>При создании кодификаций в JS нередко используются так называемые паттерны. Это - шаблоны ООП. Служат неотъемлемой частью разработки текущего поколения. Выступают в виде повторяемой архитектурной конструкции, которая помогает решает разнообразные задачи проектирования.</p>
68
<p>Паттерн - это типовое решение для часто встречающихся на практике операций. В Java Script паттерн под называнием "Модуль" применяется при имитации концепции классов, ведь изначально эти "объекты" в языке не найдете. Они не предусматриваются "по умолчанию".</p>
68
<p>Паттерн - это типовое решение для часто встречающихся на практике операций. В Java Script паттерн под называнием "Модуль" применяется при имитации концепции классов, ведь изначально эти "объекты" в языке не найдете. Они не предусматриваются "по умолчанию".</p>
69
<p>Pattern "Модуль" позволяет:</p>
69
<p>Pattern "Модуль" позволяет:</p>
70
<ul><li>осуществлять хранение публичных и приватных методов внутри одного объекта;</li>
70
<ul><li>осуществлять хранение публичных и приватных методов внутри одного объекта;</li>
71
<li>создавать публичные API;</li>
71
<li>создавать публичные API;</li>
72
<li>давать возможность обращения к публичным методам, изолируя приватные путем замыкания.</li>
72
<li>давать возможность обращения к публичным методам, изолируя приватные путем замыкания.</li>
73
</ul><p>Существуют различные вариации реализации в системе паттернов "Модуль". Их необходимо учитывать, если хочется полноценно программировать.</p>
73
</ul><p>Существуют различные вариации реализации в системе паттернов "Модуль". Их необходимо учитывать, если хочется полноценно программировать.</p>
74
<h3>Анонимное замыкание</h3>
74
<h3>Анонимное замыкание</h3>
75
<p>Выше дан вариант программирования на JS с использованием так называемого замыкания. Добавлю еще и то, что такое решение на практике применяется достаточно часто. Позволяет системе задействовать локальные переменные внутри функций, не беспокоясь за случайную перезапись глобальных "значений" с аналогичными именами.</p>
75
<p>Выше дан вариант программирования на JS с использованием так называемого замыкания. Добавлю еще и то, что такое решение на практике применяется достаточно часто. Позволяет системе задействовать локальные переменные внутри функций, не беспокоясь за случайную перезапись глобальных "значений" с аналогичными именами.</p>
76
<p>Работает по следующему принципу:</p>
76
<p>Работает по следующему принципу:</p>
77
<ol><li>Объявляется анонимная функция.</li>
77
<ol><li>Объявляется анонимная функция.</li>
78
<li>Устанавливается зона видимости или замыкание.</li>
78
<li>Устанавливается зона видимости или замыкание.</li>
79
<li>Происходит сокрытие переменных из родительных областей видимостей.</li>
79
<li>Происходит сокрытие переменных из родительных областей видимостей.</li>
80
</ol><p>Доступ к переменным глобального характера будет подключать можно так:</p>
80
</ol><p>Доступ к переменным глобального характера будет подключать можно так:</p>
81
<p>Здесь обязательно проставлять круглые скобки близ анонимных функций. Связано это с тем, что задействованная инструкция, начинающаяся с function всегда выступает в качестве объявлении функции. JS не предусматривает такой вариант, если отсутствует имя. Значит, скобки обеспечивают "соединение" с функцией в процессе выполнения кодификации.</p>
81
<p>Здесь обязательно проставлять круглые скобки близ анонимных функций. Связано это с тем, что задействованная инструкция, начинающаяся с function всегда выступает в качестве объявлении функции. JS не предусматривает такой вариант, если отсутствует имя. Значит, скобки обеспечивают "соединение" с функцией в процессе выполнения кодификации.</p>
82
<h3>Глобальный импорт</h3>
82
<h3>Глобальный импорт</h3>
83
<p>Глобальный импорт использует разнообразные библиотеки. Примером выступает jQuery. Напоминает замыкание, но при подобных обстоятельствах ссылка на глобальные переменные выступает параметрами:</p>
83
<p>Глобальный импорт использует разнообразные библиотеки. Примером выступает jQuery. Напоминает замыкание, но при подобных обстоятельствах ссылка на глобальные переменные выступает параметрами:</p>
84
<p>Здесь:</p>
84
<p>Здесь:</p>
85
<ul><li>GlobalVariable - глобальная переменная, которая является единственной;</li>
85
<ul><li>GlobalVariable - глобальная переменная, которая является единственной;</li>
86
<li>преимущество - хранилища данных объявляется заранее, делая чтение кодификации максимально доступным.</li>
86
<li>преимущество - хранилища данных объявляется заранее, делая чтение кодификации максимально доступным.</li>
87
</ul><p>Такой подход применяется, когда на передовой стоит прозрачность приложения JS.</p>
87
</ul><p>Такой подход применяется, когда на передовой стоит прозрачность приложения JS.</p>
88
<h3>Объектный интерфейс</h3>
88
<h3>Объектный интерфейс</h3>
89
<p>Чтобы программер увидел разницу в модульном программировании, стоит рассмотреть максимальное количество возможных способов подключения оного. Еще один подход - это использование объектного интерфейса:</p>
89
<p>Чтобы программер увидел разницу в модульном программировании, стоит рассмотреть максимальное количество возможных способов подключения оного. Еще один подход - это использование объектного интерфейса:</p>
90
<p>Позволяет выбирать переменные и методы для дальнейшего использования в качестве приватных. Также таким способом удается создавать публичные методы/хранилища информации через перемещение оных в возвращаемые объекты.</p>
90
<p>Позволяет выбирать переменные и методы для дальнейшего использования в качестве приватных. Также таким способом удается создавать публичные методы/хранилища информации через перемещение оных в возвращаемые объекты.</p>
91
<h3>Раскрывающиеся модули</h3>
91
<h3>Раскрывающиеся модули</h3>
92
<p>Данный подход отличается от предыдущего тем, что здесь все методы и переменные будут приватными до тех пор, пока их не раскроют явным способом.</p>
92
<p>Данный подход отличается от предыдущего тем, что здесь все методы и переменные будут приватными до тех пор, пока их не раскроют явным способом.</p>
93
<h2>Подходы к реализации</h2>
93
<h2>Подходы к реализации</h2>
94
<p>Подключение модулей - не самая трудная задача, но сначала стоит определиться с реализацией оной. Помимо предложенных выше примеров на серверах активно применяются различные приемы:</p>
94
<p>Подключение модулей - не самая трудная задача, но сначала стоит определиться с реализацией оной. Помимо предложенных выше примеров на серверах активно применяются различные приемы:</p>
95
<ul><li>CommonJS;</li>
95
<ul><li>CommonJS;</li>
96
<li>AMD;</li>
96
<li>AMD;</li>
97
<li>UMD;</li>
97
<li>UMD;</li>
98
<li>запуск через nodejs.</li>
98
<li>запуск через nodejs.</li>
99
</ul><p>Эти варианты позволят осуществлять подключение к блокам JS без обращения к глобальной области видимости.</p>
99
</ul><p>Эти варианты позволят осуществлять подключение к блокам JS без обращения к глобальной области видимости.</p>
100
<h3>CommonJS - только начало</h3>
100
<h3>CommonJS - только начало</h3>
101
<p>Представлена фрагментами JS, которые применяются многократно. Создан модуль независимой группой разработчиков на благих началах. Запуск позволяет экспортировать специальные объекты, которые обеспечивают доступность оных другим модулям. Часто встречается в nodeJS.</p>
101
<p>Представлена фрагментами JS, которые применяются многократно. Создан модуль независимой группой разработчиков на благих началах. Запуск позволяет экспортировать специальные объекты, которые обеспечивают доступность оных другим модулям. Часто встречается в nodeJS.</p>
102
<p>Выделяется:</p>
102
<p>Выделяется:</p>
103
<ul><li>отсутствием загрязнения глобального пространства имеющихся имен;</li>
103
<ul><li>отсутствием загрязнения глобального пространства имеющихся имен;</li>
104
<li>определение зависимостей более явными методами.</li>
104
<li>определение зависимостей более явными методами.</li>
105
</ul><p>Соответствующие встроенные модули обладают простым синтаксисом, поэтому легко осваиваются.</p>
105
</ul><p>Соответствующие встроенные модули обладают простым синтаксисом, поэтому легко осваиваются.</p>
106
<p>Выше представлен пример определения.</p>
106
<p>Выше представлен пример определения.</p>
107
<h3>AMD - как название процессора</h3>
107
<h3>AMD - как название процессора</h3>
108
<p>Модули в JS могут работать асинхронно. В этом случае для вызова "готовых блоков" используется AMD. Загружается так:</p>
108
<p>Модули в JS могут работать асинхронно. В этом случае для вызова "готовых блоков" используется AMD. Загружается так:</p>
109
<p>Работает следующим образом:</p>
109
<p>Работает следующим образом:</p>
110
<ol><li>Функция определения модуля принимает первым аргументом имеющийся массив зависимостей.</li>
110
<ol><li>Функция определения модуля принимает первым аргументом имеющийся массив зависимостей.</li>
111
<li>Происходит загрузка оных в фоновом режиме, который является не блокирующим.</li>
111
<li>Происходит загрузка оных в фоновом режиме, который является не блокирующим.</li>
112
<li>Осуществляется работа функции обратного вызова, переданной вторым аргументом.</li>
112
<li>Осуществляется работа функции обратного вызова, переданной вторым аргументом.</li>
113
<li>Соответствующий элемент в виде аргументов принимает загруженные ранее зависимости, позволяя использование оных.</li>
113
<li>Соответствующий элемент в виде аргументов принимает загруженные ранее зависимости, позволяя использование оных.</li>
114
</ol><p>Все зависимости в AMD определяются ключевым словом define.</p>
114
</ol><p>Все зависимости в AMD определяются ключевым словом define.</p>
115
<h3>UMD</h3>
115
<h3>UMD</h3>
116
<p>Новый подход к особо сложным задачам. Позволяет пользоваться одновременно всеми перечисленными ранее модулями. Универсальное объединение "готовых шаблонов".</p>
116
<p>Новый подход к особо сложным задачам. Позволяет пользоваться одновременно всеми перечисленными ранее модулями. Универсальное объединение "готовых шаблонов".</p>
117
<p>Работают и на клиентах, и на серверах. Имеет поддержку определения модулей посредством глобальных переменных.</p>
117
<p>Работают и на клиентах, и на серверах. Имеет поддержку определения модулей посредством глобальных переменных.</p>
118
<h2>NodeJS - полноценный движок</h2>
118
<h2>NodeJS - полноценный движок</h2>
119
<p>NodeJS - это некая программная платформа, которая базируется на движке V8. Позволяет сделать из узкоспециализированного JS язык общего назначения. В основе работы используется модульное программирование.</p>
119
<p>NodeJS - это некая программная платформа, которая базируется на движке V8. Позволяет сделать из узкоспециализированного JS язык общего назначения. В основе работы используется модульное программирование.</p>
120
<p>За все время существований поддерживались несколько версий node. Сейчас работают разработки:</p>
120
<p>За все время существований поддерживались несколько версий node. Сейчас работают разработки:</p>
121
<ul><li>12.x;</li>
121
<ul><li>12.x;</li>
122
<li>14.x;</li>
122
<li>14.x;</li>
123
<li>16.x;</li>
123
<li>16.x;</li>
124
<li>17.x.</li>
124
<li>17.x.</li>
125
</ul><p>В апреле 2022 года планируется выпуск новой версии. Вот пример Hello, World, который отражает запуск и создание HTTP-сервера:</p>
125
</ul><p>В апреле 2022 года планируется выпуск новой версии. Вот пример Hello, World, который отражает запуск и создание HTTP-сервера:</p>
126
<p>Задумываясь, как пользоваться платформой Node JS, стоит отметить - это довольно простой процесс, если разобраться с основами программирования. И подключить "готовые блоки" кодификаций не составит никакого труда.</p>
126
<p>Задумываясь, как пользоваться платформой Node JS, стоит отметить - это довольно простой процесс, если разобраться с основами программирования. И подключить "готовые блоки" кодификаций не составит никакого труда.</p>
127
<h3>Больше о модулях в Node</h3>
127
<h3>Больше о модулях в Node</h3>
128
<p>Запустить NodeJS - это только половина дела. Главное грамотно подключить к платформе "готовые блоки". Их здесь несколько:</p>
128
<p>Запустить NodeJS - это только половина дела. Главное грамотно подключить к платформе "готовые блоки". Их здесь несколько:</p>
129
<ul><li>require - для подключения модулей;</li>
129
<ul><li>require - для подключения модулей;</li>
130
<li>module - для организации работы "готовых блоков".</li>
130
<li>module - для организации работы "готовых блоков".</li>
131
</ul><p>Подключаем рассматриваемые элементы через console примерно так:</p>
131
</ul><p>Подключаем рассматриваемые элементы через console примерно так:</p>
132
<p>Когда запускаем очередной "блок", вызывая функцию require, важно учитывать, что:</p>
132
<p>Когда запускаем очередной "блок", вызывая функцию require, важно учитывать, что:</p>
133
<ul><li>resolving - отвечает за определение абсолютного пути к файлу;</li>
133
<ul><li>resolving - отвечает за определение абсолютного пути к файлу;</li>
134
<li>loading - определение типа файла;</li>
134
<li>loading - определение типа файла;</li>
135
<li>wrapping - создание области видимости;</li>
135
<li>wrapping - создание области видимости;</li>
136
<li>evaluating - выполнение кодификации;</li>
136
<li>evaluating - выполнение кодификации;</li>
137
<li>caching - кэширование.</li>
137
<li>caching - кэширование.</li>
138
</ul><p>Это принцип scripts modules. Больше наглядных примеров<a>здесь</a>.</p>
138
</ul><p>Это принцип scripts modules. Больше наглядных примеров<a>здесь</a>.</p>
139
<p>А для того, чтобы не пришлось думать, что собой представляет файл package, как осуществляется log, каким образом работать в командной строке и подключать шаблоны в Джаве, стоит закончить специализированные курсы. С ними подключение модулей в node JS не доставит никаких хлопот. По завершению обучения гарантируется выдача электронного именного сертификата.</p>
139
<p>А для того, чтобы не пришлось думать, что собой представляет файл package, как осуществляется log, каким образом работать в командной строке и подключать шаблоны в Джаве, стоит закончить специализированные курсы. С ними подключение модулей в node JS не доставит никаких хлопот. По завершению обучения гарантируется выдача электронного именного сертификата.</p>
140
<a></a>
140
<a></a>