1
00:00:03,680 --> 00:00:07,800
В упражнении на предыдущем уроке

2
00:00:07,800 --> 00:00:13,940
мы построили простой HTTP-сервер, который мог бы обслуживать статический контент,

3
00:00:13,940 --> 00:00:17,825
это было построено полностью с помощью Node.js.

4
00:00:17,825 --> 00:00:20,800
Теперь, когда мы узнали о Express,

5
00:00:20,800 --> 00:00:27,700
минималистском фреймворке, который поддерживает разработку сервера поверх Node.js,

6
00:00:27,700 --> 00:00:37,640
давайте теперь рассмотрим, как мы можем использовать Express для создания того же сервера в этом упражнении.

7
00:00:37,640 --> 00:00:43,520
Чтобы начать работу, перейдите в папку Node.js, которую мы использовали для хранения

8
00:00:43,520 --> 00:00:51,540
всего кода для этого курса, а затем создайте там новую папку с именем node-express,

9
00:00:52,170 --> 00:00:56,170
а затем перейдите в эту папку.

10
00:00:56,170 --> 00:00:59,315
Теперь мы создадим

11
00:00:59,315 --> 00:01:06,815
общую папку здесь в узле экспресс папки.

12
00:01:06,815 --> 00:01:14,645
Затем мы перейдем к этому узлу HTTP общей папке, а затем скопируем эти два файла,

13
00:01:14,645 --> 00:01:20,835
index.HTML и aboutus.html в общую папку node-express.

14
00:01:20,835 --> 00:01:23,660
Мы собираемся обслуживать эти два файла с

15
00:01:23,660 --> 00:01:27,980
помощью сервера Express, который мы собираемся построить в этом упражнении.

16
00:01:27,980 --> 00:01:31,070
А теперь иди к терминалам.

17
00:01:31,070 --> 00:01:40,725
Перейдите в папку node-express в терминале, а затем в командной строке введите npm init,

18
00:01:40,725 --> 00:01:44,060
чтобы инициализировать приложение узла.

19
00:01:44,060 --> 00:01:50,645
Затем для имени пакета давайте просто используем node-express,

20
00:01:50,645 --> 00:02:00,725
а для описания мы скажем Node Express Examples,

21
00:02:00,725 --> 00:02:04,685
а точка входа - index.js,

22
00:02:04,685 --> 00:02:09,740
и все остальное то же самое, как и прежде,

23
00:02:09,740 --> 00:02:14,520
и давайте создадим файл package.json.

24
00:02:14,520 --> 00:02:17,290
Теперь позвольте мне открыть

25
00:02:18,470 --> 00:02:26,525
проект с помощью редактора Visual Studio Code в моем случае, а затем

26
00:02:26,525 --> 00:02:35,950
в файле package.json давайте войдем и добавим новый скрипт под названием start,

27
00:02:35,950 --> 00:02:42,745
который является индексом узла и сохраним изменения.

28
00:02:42,745 --> 00:02:46,100
Теперь, когда мы инициализировали модуль узла,

29
00:02:46,100 --> 00:02:50,060
давайте продолжим и установим фреймворк Express

30
00:02:50,060 --> 00:02:54,985
в проекте, чтобы использовать его для создания нашего экспресс-сервера.

31
00:02:54,985 --> 00:02:56,105
Итак, в командной строке

32
00:02:56,105 --> 00:03:01,250
введите npm install express.

33
00:03:01,250 --> 00:03:03,065
Так вот как вы устанавливаете

34
00:03:03,065 --> 00:03:07,280
модуль стороннего узла, если вы

35
00:03:07,280 --> 00:03:11,060
впервые принимаете этот курс и не посещали предыдущие курсы,

36
00:03:11,060 --> 00:03:15,200
то это то, что важно отметить.

37
00:03:15,200 --> 00:03:20,450
Вот как вы будете устанавливать модуль узла, добавив минус минус сохранить,

38
00:03:20,450 --> 00:03:23,435
мы также сохраняем информацию о том, что

39
00:03:23,435 --> 00:03:27,380
этот сторонний модуль узла является зависимостью

40
00:03:27,380 --> 00:03:31,740
для нашего проекта, и эта информация будет сохранена в файле package.json.

41
00:03:31,740 --> 00:03:34,835
Если вы прошли предыдущие курсы специализации,

42
00:03:34,835 --> 00:03:38,110
то вы уже знаете об этой информации.

43
00:03:38,110 --> 00:03:44,000
Итак, давайте продолжим и установим модуль Express.

44
00:03:44,000 --> 00:03:45,725
Как вы можете заметить,

45
00:03:45,725 --> 00:03:51,380
мы используем Express версии 4.16.3 в этом курсе.

46
00:03:51,380 --> 00:03:54,875
Итак, давайте вернемся к нашему коду.

47
00:03:54,875 --> 00:03:58,025
Взглянув на файл package.json,

48
00:03:58,025 --> 00:04:03,530
вы видите, что внутри файла package.json, установив Express, мы уже видим

49
00:04:03,530 --> 00:04:10,265
другое свойство, которое входит в файл package.json, называемый зависимостями.

50
00:04:10,265 --> 00:04:13,910
Эти зависимости отслеживают все пакеты, от

51
00:04:13,910 --> 00:04:16,750
которых этот текущий проект будет зависеть.

52
00:04:16,750 --> 00:04:20,870
Здесь вы видите, что Express устанавливается

53
00:04:20,870 --> 00:04:25,790
там и соответствующая версия Express устанавливается здесь,

54
00:04:25,790 --> 00:04:30,320
поэтому это объявляет, что этот конкретный проект

55
00:04:30,320 --> 00:04:35,660
зависит от версии Express по крайней мере 4.16.3.

56
00:04:35,660 --> 00:04:41,870
Кроме того, вы также видите эту папку, называемую узловыми модулями, созданными здесь.

57
00:04:41,870 --> 00:04:46,175
Таким образом, здесь будут

58
00:04:46,175 --> 00:04:51,600
храниться все модули сторонних узлов, установленные вашим приложением.

59
00:04:51,600 --> 00:04:54,305
Теперь, когда мы делаем фиксацию Git,

60
00:04:54,305 --> 00:04:57,895
мы не хотим фиксировать эту папку модулей узла.

61
00:04:57,895 --> 00:04:59,965
Поэтому, чтобы игнорировать это,

62
00:04:59,965 --> 00:05:02,980
давайте создадим файл с

63
00:05:02,980 --> 00:05:10,675
именем.gitignore и в файле.gitignore,

64
00:05:10,675 --> 00:05:14,475
давайте введем модули node_.

65
00:05:14,475 --> 00:05:18,740
Таким образом, это позволяет Git знать, что мы не хотим

66
00:05:18,740 --> 00:05:23,315
фиксировать папку модулей узла в репозиторий Git.

67
00:05:23,315 --> 00:05:25,580
Итак, с этим давайте сохраним изменения.

68
00:05:25,580 --> 00:05:28,505
Поэтому теперь, когда вы создаете репозиторий Git,

69
00:05:28,505 --> 00:05:30,945
папка модулей узлов будет игнорироваться.

70
00:05:30,945 --> 00:05:36,710
Это не требуется, потому что вы всегда можете воссоздать папку модулей узлов в любое время, когда

71
00:05:36,710 --> 00:05:42,980
вы клонируете этот проект из вашего репозитория Git, просто введя npm install.

72
00:05:42,980 --> 00:05:46,405
Это будет смотреть на файл package.json

73
00:05:46,405 --> 00:05:48,065
и посмотреть на все зависимости

74
00:05:48,065 --> 00:05:51,720
и зависимости разработки, которые находятся в

75
00:05:51,720 --> 00:05:55,905
файле package.json и автоматически устанавливаются все эти пакеты для вас.

76
00:05:55,905 --> 00:05:58,260
Теперь, когда мы завершили это,

77
00:05:58,260 --> 00:06:01,810
давайте создадим наш первый проект Express,

78
00:06:01,810 --> 00:06:09,350
так что для этого мы создадим файл с именем index.js и в index.js

79
00:06:09,350 --> 00:06:19,190
мы объявим const express request express express express.

80
00:06:19,190 --> 00:06:23,255
Теперь вы заметите, что express является сторонним модулем узла, и он был

81
00:06:23,255 --> 00:06:27,910
установлен в нашей папке модулей узла в правильном каталоге.

82
00:06:27,910 --> 00:06:35,150
Итак, когда мы объявляем это здесь, говоря, что этот модуль Express необходим,

83
00:06:35,150 --> 00:06:41,030
то он будет автоматически включен из папки модулей узла в наше приложение.

84
00:06:41,030 --> 00:06:46,145
Теперь также установите HTTP

85
00:06:46,145 --> 00:06:55,785
основной модуль здесь.

86
00:06:55,785 --> 00:06:57,585
Теперь, когда мы установили это,

87
00:06:57,585 --> 00:07:04,165
давайте создадим имя курса как

88
00:07:04,165 --> 00:07:12,850
локальный хост и номер порта как 3000.

89
00:07:12,850 --> 00:07:17,950
Таким образом, вы видите, что мы используем точно такой же способ выполнения

90
00:07:17,950 --> 00:07:23,550
этого упражнения, как мы сделали для упражнения HTTP ранее.

91
00:07:23,550 --> 00:07:25,535
Теперь, на данный момент,

92
00:07:25,535 --> 00:07:32,560
мы объявим этот const называется приложением как экспресс.

93
00:07:32,560 --> 00:07:37,855
Таким образом, мы говорим, что наше приложение будет использовать модуль Express узла.

94
00:07:37,855 --> 00:07:39,620
Итак, как только мы это сделаем,

95
00:07:39,620 --> 00:07:47,840
Express предоставляет кучу методов, которые мы можем использовать для создания нашего веб-сервера.

96
00:07:47,840 --> 00:07:53,335
Поэтому после этого мы скажем app.use () и внутри здесь

97
00:07:53,335 --> 00:07:59,845
мы объявим функцию, которая будет вызвана для настройки нашего сервера.

98
00:07:59,845 --> 00:08:04,010
Таким образом, эта функция принимает три параметра req,

99
00:08:04,010 --> 00:08:06,330
который является запросом; res,

100
00:08:06,330 --> 00:08:09,850
который является ответом, и следующий.

101
00:08:09,850 --> 00:08:19,310
Теперь, как мы видели, Express использует дополнительное промежуточное программное обеспечение.

102
00:08:19,310 --> 00:08:22,955
Итак, следующий используется, когда вам нужно

103
00:08:22,955 --> 00:08:28,080
вызвать дополнительное промежуточное программное обеспечение, чтобы заботиться о работе от вашего имени.

104
00:08:28,080 --> 00:08:32,930
Мы увидим использование next в некоторых из последующих упражнений,

105
00:08:32,930 --> 00:08:38,350
но функция здесь будет принимать три параметра req, res и next.

106
00:08:38,350 --> 00:08:40,940
Далее - необязательный параметр, который

107
00:08:40,940 --> 00:08:46,755
не может быть включен, если вы не собираетесь использовать его в своем коде.

108
00:08:46,755 --> 00:08:48,685
Итак, внутри здесь мы скажем,

109
00:08:48,685 --> 00:08:51,870
журнал консоли, а затем,

110
00:08:51,870 --> 00:08:57,165
мы будем регистрировать заголовки,

111
00:08:57,165 --> 00:09:07,840
и мы ответим с кодом состояния, установленным в 200.

112
00:09:11,120 --> 00:09:19,845
Установите тип содержимого заголовка

113
00:09:19,845 --> 00:09:25,870
как текст HTML.

114
00:09:25,870 --> 00:09:29,150
Итак, вы заметили, что большая часть этого кода выглядит очень похоже

115
00:09:29,150 --> 00:09:32,744
на то, как мы настроили наше приложение узла.

116
00:09:32,744 --> 00:09:36,205
Итак, мы скажем res.end и

117
00:09:36,205 --> 00:09:45,130
здесь HTML-тело h1.

118
00:09:47,760 --> 00:09:56,245
Мы просто скажем, что это экспресс сервер и закроем

119
00:09:56,245 --> 00:10:09,685
там танки, и все. Исходя

120
00:10:09,685 --> 00:10:14,970
из вашего понимания узла HTTP,

121
00:10:14,970 --> 00:10:18,180
вы уже понимаете, что делают эти три,

122
00:10:18,180 --> 00:10:22,735
и то же самое также делается на сервере Express.

123
00:10:22,735 --> 00:10:30,715
Теперь,

124
00:10:30,715 --> 00:10:35,435
когда мы создали сервер с помощью приложения, мы настроим сервер, и тогда мы будем использовать HTTP CreateServer,

125
00:10:35,435 --> 00:10:44,415
и, таким образом, CreateServer теперь будет принимать приложение в качестве параметра функции там,

126
00:10:44,415 --> 00:10:54,850
и после этого мы просто скажем server.listen порт,

127
00:10:54,850 --> 00:11:03,160
hostname и

128
00:11:03,160 --> 00:11:09,080
функция стрелки здесь, в рамках которой я собираюсь распечатать,

129
00:11:12,560 --> 00:11:24,340
консоль, сервер возврата журнала, работающий по HTTP: //имя хоста: порт,

130
00:11:38,560 --> 00:11:43,880
вот и все. Таким образом, вы увидите, что эта часть очень похожа

131
00:11:43,880 --> 00:11:48,515
на то, что вы сделали для упражнения HTTP,

132
00:11:48,515 --> 00:11:51,620
за исключением того, что CreateServer теперь принимает это приложение,

133
00:11:51,620 --> 00:11:53,990
которое мы объявили ранее Express.

134
00:11:53,990 --> 00:11:58,120
Таким образом, Express добавляет дополнительную функциональность, которая будет

135
00:11:58,120 --> 00:12:03,460
использоваться HTTP-сервером, который мы создаем с помощью примечания.

136
00:12:04,270 --> 00:12:06,540
Как только мы закончим с этим,

137
00:12:06,540 --> 00:12:08,265
давайте сохраним изменения,

138
00:12:08,265 --> 00:12:11,625
а затем мы продолжим и запустим сервер,

139
00:12:11,625 --> 00:12:14,900
и посмотрим, что сервер будет обслуживать.

140
00:12:14,900 --> 00:12:17,495
Войдите в терминал, добавьте терминал,

141
00:12:17,495 --> 00:12:25,160
введите NPM start, и вы увидите, что ваш сервер работает и работает.

142
00:12:25,160 --> 00:12:30,645
Теперь, когда мы получаем доступ к этому из браузера или от почтальона,

143
00:12:30,645 --> 00:12:33,160
вы увидите, что он служит.

144
00:12:33,160 --> 00:12:36,320
Итак, здесь у меня почтальон и деньги.

145
00:12:36,320 --> 00:12:41,425
Позвольте мне отправить запрос GET на localhost 3000, как

146
00:12:41,425 --> 00:12:47,545
и раньше, и вы увидите, что это обслуживает HTML-код, который мы включаем там,

147
00:12:47,545 --> 00:12:50,655
и поэтому это Express сервер.

148
00:12:50,655 --> 00:12:52,075
Нажав на предварительный просмотр,

149
00:12:52,075 --> 00:12:56,460
это покажет вам, как он будет выглядеть в браузере,

150
00:12:56,970 --> 00:13:03,490
и это показывает необработанную версию кода, который был отправлен обратно со стороны сервера,

151
00:13:03,490 --> 00:13:06,905
и вы можете увидеть, что код состояния 200, хорошо?

152
00:13:06,905 --> 00:13:13,560
И другой вектор информации заголовка был отправлен с сайта сервера.

153
00:13:13,560 --> 00:13:20,190
Обратите внимание, в частности, на нем говорится, что x работает от Express в заголовке.

154
00:13:20,190 --> 00:13:24,110
С этим мы завершаем первую часть этого упражнения, где мы видели,

155
00:13:24,110 --> 00:13:29,535
как мы можем использовать Express для настройки простого веб-сервера.

156
00:13:29,535 --> 00:13:35,540
Позвольте мне теперь остановить сервер, а затем инициализировать репозиторий Git,

157
00:13:35,540 --> 00:13:40,330
поэтому в командной строке я напечатаю «git init»,

158
00:13:40,330 --> 00:13:48,030
а затем «git status», и вы увидите, что файлы, которые не были отслежены,

159
00:13:48,030 --> 00:13:55,805
поэтому я скажу «get and drop», и эти файлы теперь добавляются в репозиторий Git,

160
00:13:55,805 --> 00:13:57,750
и поэтому, когда вы говорите git status,

161
00:13:57,750 --> 00:13:59,780
вы видите файлы, которые были добавлены.

162
00:13:59,780 --> 00:14:02,610
Обратите внимание, в частности, что папка модулей узла

163
00:14:02,610 --> 00:14:05,750
не была добавлена в репозиторий Git, потому что в

164
00:14:05,750 --> 00:14:09,310
файле.gitignore мы явно заявили, что

165
00:14:09,310 --> 00:14:14,035
папка модулей узла не должна быть включена в репозиторий Git.

166
00:14:14,035 --> 00:14:19,905
Итак, теперь давайте проверим наш обмен фиксацией, сказав git

167
00:14:19,905 --> 00:14:28,095
commit минус m Express пример,

168
00:14:28,095 --> 00:14:32,285
и мы зафиксировали это в нашем репозитории Git.

169
00:14:32,285 --> 00:14:34,820
Во второй части этого упражнения

170
00:14:34,820 --> 00:14:40,975
мы рассмотрим использование промежуточного программного обеспечения Express под названием Morgan.

171
00:14:40,975 --> 00:14:46,390
Morgan используется для записи информации на экран,

172
00:14:46,390 --> 00:14:50,640
так что он будет записывать информацию о входящих запросах на экран, чтобы мы

173
00:14:50,640 --> 00:14:55,185
могли видеть некоторую информацию печатается в нашей консоли здесь.

174
00:14:55,185 --> 00:15:02,290
Кроме того, мы увидим, как мы можем настроить наш Express сервер для обслуживания статических HTML-файлов.

175
00:15:02,290 --> 00:15:06,740
Чтобы начать работу, в командной строке введите npm

176
00:15:06,740 --> 00:15:13,505
установить Morgan минус, минус сохранить.

177
00:15:13,505 --> 00:15:18,650
Теперь Морган будет зависимостью, которую мы будем использовать в нашем приложении.

178
00:15:18,650 --> 00:15:20,390
Итак, вот почему это минус,

179
00:15:20,390 --> 00:15:24,530
минус сохранить, и это получит Install,

180
00:15:24,530 --> 00:15:32,260
и вы можете видеть, что я использую Morgan версии 1.9.0 в этом курсе.

181
00:15:32,260 --> 00:15:34,735
Теперь, когда мы установили Morgan,

182
00:15:34,735 --> 00:15:38,650
давайте посмотрим, как мы можем использовать его в нашем приложении.

183
00:15:38,650 --> 00:15:40,615
Итак, перейдя к нашему приложению,

184
00:15:40,615 --> 00:15:47,235
способ использовать Morgan заключается в том, чтобы объявить здесь

185
00:15:47,235 --> 00:15:57,015
const Morgan требовать Morgan,

186
00:15:57,015 --> 00:16:01,470
а затем мы скажем:

187
00:16:01,470 --> 00:16:10,665
«Приложение использует Morgan с разработкой».

188
00:16:10,665 --> 00:16:12,820
Итак, это версия разработки.

189
00:16:12,820 --> 00:16:18,045
Таким образом, он будет распечатывать дополнительную информацию на экран по мере необходимости.

190
00:16:18,045 --> 00:16:21,400
Теперь, заходим в наше заявление.

191
00:16:21,990 --> 00:16:28,460
В нашем приложении я не собираюсь регистрировать все заголовки.

192
00:16:28,460 --> 00:16:32,500
Вместо этого позвольте мне удалить это, потому что Morgan будет

193
00:16:32,500 --> 00:16:37,750
записывать достаточную информацию для нас,

194
00:16:37,750 --> 00:16:47,695
чтобы посмотреть, и я собираюсь настроить свой сервер для обслуживания HTML-файлов из общей папки.

195
00:16:47,695 --> 00:16:48,945
Поэтому, чтобы сделать это,

196
00:16:48,945 --> 00:16:56,660
я собираюсь объявить использование и выразить статическое.

197
00:16:56,660 --> 00:17:06,265
Это говорит Express, чтобы обслуживать статические файлы из двойного подчеркивания dirname.

198
00:17:06,265 --> 00:17:13,735
Итак, это говорит о корне

199
00:17:13,735 --> 00:17:19,430
этого проекта, и они найдут эти файлы

200
00:17:19,430 --> 00:17:25,605
в double_dirname, plus/public.

201
00:17:25,605 --> 00:17:30,355
Итак, напомним, что мы создали общую папку в узле Express папку.

202
00:17:30,355 --> 00:17:35,845
Таким образом, это информирует Express о том, что вы будете смотреть на

203
00:17:35,845 --> 00:17:42,630
эту конкретную папку в корневой папке этого проекта и внутри общей папки.

204
00:17:42,630 --> 00:17:45,985
Таким образом, это будет папка, из которой

205
00:17:45,985 --> 00:17:52,530
статические HTML-файлы будут обслуживаться моим сервером Express.

206
00:17:52,530 --> 00:17:54,155
После внесения этих изменений,

207
00:17:54,155 --> 00:17:55,660
давайте сохраним изменения,

208
00:17:55,660 --> 00:17:58,615
а затем перезапустите наш сервер,

209
00:17:58,615 --> 00:18:01,480
а затем посмотрим, как он работает.

210
00:18:01,480 --> 00:18:04,495
Перейдя к этой подсказке,

211
00:18:04,495 --> 00:18:08,520
давайте напечатаем npm

212
00:18:08,520 --> 00:18:10,510
start, чтобы запустить наш

213
00:18:10,510 --> 00:18:12,985
сервер, и как только сервер работает и работает,

214
00:18:12,985 --> 00:18:18,960
давайте рассмотрим, что он будет обслуживать, когда мы отправляем различные запросы на этот сервер.

215
00:18:18,960 --> 00:18:24,200
Используя Postman, давайте сначала отправим запрос на получение локального хоста: 3,000,

216
00:18:24,200 --> 00:18:32,545
и вы заметите, что он обслуживает файл index.html.

217
00:18:32,545 --> 00:18:38,795
Мы настроили наш сервер для обслуживания статических файлов из общей папки,

218
00:18:38,795 --> 00:18:43,190
и если мы просто скажем localhost: 3000 по умолчанию,

219
00:18:43,190 --> 00:18:45,060
он будет обслуживать файл index.html.

220
00:18:45,060 --> 00:18:48,685
Итак, вот как работает ваш типичный веб-сервер.

221
00:18:48,685 --> 00:18:53,440
Итак, это то, что мы закончили настройкой нашего экспресс-сервера.

222
00:18:53,440 --> 00:19:01,735
Теперь, давайте напечатаем localhost: 3000 about.html и отправить запрос,

223
00:19:01,735 --> 00:19:04,280
и говорит, что это о нашей стратегии HTML,

224
00:19:04,280 --> 00:19:07,660
а также о нас HTML файл был сохранен здесь.

225
00:19:07,660 --> 00:19:09,145
Таким образом, в предварительном просмотре

226
00:19:09,145 --> 00:19:14,710
вы можете увидеть полученный файл, который был подан с нашего сайта сервера.

227
00:19:14,710 --> 00:19:20,020
Давайте попробуем получить доступ к несуществующему файлу,

228
00:19:20,020 --> 00:19:25,755
и вы увидите, что когда вы пытаетесь получить доступ к несуществующему файлу,

229
00:19:25,755 --> 00:19:31,995
то он будет по умолчанию второй настройки, которые мы сделали в нашем коде,

230
00:19:31,995 --> 00:19:34,175
который говорит, что это Express сервер.

231
00:19:34,175 --> 00:19:37,790
Мы не указали нашему серверу Express, как обрабатывать

232
00:19:37,790 --> 00:19:42,830
ситуации, когда он встречает файл, который не существует.

233
00:19:42,830 --> 00:19:50,450
Поэтому он использует значение по умолчанию, которое настроено прямо под статикой Express,

234
00:19:50,450 --> 00:19:53,680
который должен обслуживать значение по умолчанию, и, конечно,

235
00:19:53,680 --> 00:19:57,335
это не самое идеальное поведение,

236
00:19:57,335 --> 00:20:00,845
но это то, что мы имеем на сервере Express в данный момент.

237
00:20:00,845 --> 00:20:04,940
Позже мы изменим сервер Express, чтобы обрабатывать

238
00:20:04,940 --> 00:20:10,215
ошибки более подробно, в последующих упражнениях.

239
00:20:10,215 --> 00:20:14,780
Это также хорошее время для вас сделать Git фиксацию изменений.

240
00:20:14,780 --> 00:20:20,760
Итак, давайте проверим статус Git после остановки сервера,

241
00:20:20,760 --> 00:20:25,925
и мы добавим измененные файлы,

242
00:20:25,925 --> 00:20:29,189
а затем выполним Git commit

243
00:20:29,189 --> 00:20:36,880
минус m Express,

244
00:20:36,880 --> 00:20:44,125
обслуживаем статические файлы.

245
00:20:44,125 --> 00:20:46,030
Вот оно. С этим

246
00:20:46,030 --> 00:20:48,015
мы завершаем это упражнение.

247
00:20:48,015 --> 00:20:50,540
В этом упражнении мы видели, как мы можем настроить

248
00:20:50,540 --> 00:20:55,460
простой веб-сервер для обслуживания контента от нашего имени.