1
00:00:03,650 --> 00:00:06,464
In den vorherigen Lektionen

2
00:00:06,464 --> 00:00:08,580
haben wir über Node gelernt.

3
00:00:08,580 --> 00:00:13,215
Wir haben auch gesehen, wie Node verwendet werden kann, um einen Webserver einzurichten.

4
00:00:13,215 --> 00:00:20,460
Jetzt hielten die Node-Designer den Knoten absichtlich klein mit einer kleinen Anzahl von

5
00:00:20,460 --> 00:00:24,480
Codemodulen, so dass sie es

6
00:00:24,480 --> 00:00:29,730
Dritten überlassen können, innovative Lösungen für Probleme zu finden.

7
00:00:29,730 --> 00:00:37,590
Nachdem Node veröffentlicht wurde, begannen eine Reihe von Drittanbieter-Entwicklern,

8
00:00:37,590 --> 00:00:45,875
interessante Drittanbieter-Module zu entwerfen und zu veröffentlichen, die auf der Node-Plattform ausgeführt werden können.

9
00:00:45,875 --> 00:00:50,030
Nun haben Sie eine Reihe von Node-Modulen gesehen, die

10
00:00:50,030 --> 00:00:54,185
für die Front-End-Entwicklung in den vorherigen Kursen verwendet werden könnten.

11
00:00:54,185 --> 00:01:03,020
Jetzt in diesem Kurs betrachten wir die serverseitige Entwicklung und auf der Serverseite

12
00:01:03,020 --> 00:01:08,720
ist eines der beliebtesten Knotenmodule oder Frameworks von Drittanbietern zum Erstellen von HTTP-Servern Express.

13
00:01:08,720 --> 00:01:11,480
Schauen wir uns einige Details von Express in

14
00:01:11,480 --> 00:01:14,345
dieser Vorlesung an und dann werden wir Express verwenden, um

15
00:01:14,345 --> 00:01:21,725
einen Server zu erstellen, der die REST-API während des gesamten Kurses bereitstellt.

16
00:01:21,725 --> 00:01:25,670
Erstens, was ist Express?

17
00:01:25,670 --> 00:01:30,355
Express ist ein schnelles, unauffälliges,

18
00:01:30,355 --> 00:01:37,519
minimalistisches Framework, das auf Node.js läuft und die Webentwicklung unterstützt.

19
00:01:37,519 --> 00:01:42,570
Dies ist die Definition, die ich von expressjs.com ausgeliehen habe,

20
00:01:42,570 --> 00:01:48,025
der Website, auf der Express-Dokumentation für uns verfügbar ist.

21
00:01:48,025 --> 00:01:53,769
Jetzt können Sie mit Express eine Webanwendung entwickeln,

22
00:01:53,769 --> 00:02:02,385
serverseitige Anwendung, die Inhalte für den Verbrauch durch unser Front-End bereitstellt.

23
00:02:02,385 --> 00:02:07,730
Express bietet eine robuste Reihe von Funktionen, die wir in

24
00:02:07,730 --> 00:02:13,610
den restlichen Lektionen in diesem Kurs genauer untersuchen werden.

25
00:02:13,610 --> 00:02:17,425
Express selbst, wie ich sagte, ist ein minimalistisches Framework,

26
00:02:17,425 --> 00:02:21,020
und Express bietet auch eine Möglichkeit,

27
00:02:21,020 --> 00:02:25,465
Express über Middleware von Drittanbietern zu erweitern und hinzuzufügen.

28
00:02:25,465 --> 00:02:31,830
Dadurch wird die Funktionalität von Express erweitert und je nach Bedarf weitere Funktionen hinzugefügt.

29
00:02:31,830 --> 00:02:38,750
So können Sie Ihren Webserver mit genauso vielen Middleware von Drittanbietern erstellen, wie es

30
00:02:38,750 --> 00:02:46,070
für die Erfüllung der Anforderungen Ihres Webservers erforderlich ist, den Sie entwerfen.

31
00:02:46,070 --> 00:02:52,130
In dieser Lektion werden wir uns einige Beispiele für Middleware von Drittanbietern ansehen, und wir

32
00:02:52,130 --> 00:02:58,170
werden auch mehr davon untersuchen, während wir den Rest der Lektionen in diesem Kurs durchlaufen.

33
00:02:58,170 --> 00:03:01,520
Um Express in Ihrem Projekt zu verwenden, besteht natürlich

34
00:03:01,520 --> 00:03:05,730
der erste Schritt darin, Express zu installieren und da Express ein Node-Modul ist,

35
00:03:05,730 --> 00:03:10,940
installieren wir es, indem wir npm install express —save sagen

36
00:03:10,940 --> 00:03:17,145
und dies würde Express in Ihrem lokalen Projekt installieren.

37
00:03:17,145 --> 00:03:21,865
Wir werden die Verwendung dieses in der Übung sehen, die dieser Vorlesung folgt.

38
00:03:21,865 --> 00:03:25,670
Lassen Sie uns kurz über die Express Middleware sprechen.

39
00:03:25,670 --> 00:03:28,425
Was genau ist der Zweck der Middleware?

40
00:03:28,425 --> 00:03:32,510
Die Middleware, die Express unterstützt, bietet eine Menge

41
00:03:32,510 --> 00:03:38,370
Plug-in-Funktionalität, die verwendet werden würde, um Ihre Express-Anwendung zu verbessern,

42
00:03:38,370 --> 00:03:41,165
Plug-in-Funktionalität wie zum Beispiel werden wir uns

43
00:03:41,165 --> 00:03:45,500
eine Middleware namens Morgan ansehen, die es

44
00:03:45,500 --> 00:03:52,490
Ihnen ermöglicht, Protokollinformationen auf dem Bildschirm über die -Anforderungen, die in Ihren Server kommen.

45
00:03:52,490 --> 00:03:56,494
In ähnlicher Weise betrachten wir eine andere Middleware namens BodyParser, mit

46
00:03:56,494 --> 00:03:59,090
der Sie den Text der

47
00:03:59,090 --> 00:04:02,375
eingehenden HTTP-Anforderungsnachricht analysieren und

48
00:04:02,375 --> 00:04:06,450
Informationen daraus für die Verwendung in Ihrer Express-Anwendung extrahieren können.

49
00:04:06,450 --> 00:04:11,395
Wir werden die Verwendung dieser in der folgenden Übung sehen.

50
00:04:11,395 --> 00:04:18,455
Wie ich bereits erwähnt habe, protokolliert Morgan Informationen auf der Konsole auf der Serverseite,

51
00:04:18,455 --> 00:04:21,645
Informationen über die eingehenden Anfragen.

52
00:04:21,645 --> 00:04:28,145
In ähnlicher Weise können sie statische Webressourcen von unserem Server mit dem

53
00:04:28,145 --> 00:04:35,855
Express-statischen bereitstellen, so dass dies Informationen aus einem Ordner innerhalb unseres Express-Projekts bereitstellt,

54
00:04:35,855 --> 00:04:39,785
und bei der Deklaration des Projekts können Sie sagen, ich bin

55
00:04:39,785 --> 00:04:44,690
doppelter Unterstrich Dateiname und doppelter Unterstrich Verzeichnisname oder Dirname, die gibt

56
00:04:44,690 --> 00:04:48,410
Ihnen den vollständigen Pfad für die Datei oder das Verzeichnis für

57
00:04:48,410 --> 00:04:53,535
das aktuelle Modul an und Sie werden sehen, dass ich diesen in der Übung verwende.

58
00:04:53,535 --> 00:04:55,640
Nun, da wir ein wenig über

59
00:04:55,640 --> 00:04:58,695
Express und die Middleware, die Express verwendet, verstanden haben,

60
00:04:58,695 --> 00:05:02,930
schauen wir uns ein Node-Modul an,

61
00:05:02,930 --> 00:05:06,499
da dies das erste Mal ist, dass wir

62
00:05:06,499 --> 00:05:10,460
auf ein Drittanbieter-Knoten-Module stoßen, werden wir einige Details über die Drittanbieter-Knoten-Module betrachten. Wenn wir also die

63
00:05:10,460 --> 00:05:15,000
package.json-Datei, um zu sehen, was in der package.json-Datei enthalten ist,

64
00:05:15,000 --> 00:05:17,920
werden wir uns auch die semantische Versionierung ansehen.

65
00:05:17,920 --> 00:05:22,550
Wenn Sie also die Version des Pakets angeben, das Sie verwenden,

66
00:05:22,550 --> 00:05:31,745
geben Sie immer die Version an, indem Sie die Major Version.Minor Version.The Patch angeben.

67
00:05:31,745 --> 00:05:35,685
Also, wenn Sie ein Paket installieren,

68
00:05:35,685 --> 00:05:39,230
wird es immer durch diese drei Zahlen identifiziert,

69
00:05:39,230 --> 00:05:45,440
Hauptversion, die brechen Änderungen einführen könnte, was bedeutet, dass, wenn Sie

70
00:05:45,440 --> 00:05:48,560
eine neuere Version des Pakets installieren, es möglicherweise nicht

71
00:05:48,560 --> 00:05:51,920
vollständig abwärtskompatibel mit früheren Versionen ist.

72
00:05:51,920 --> 00:05:55,370
Es kann zu brechenden Änderungen führen, wobei Sie möglicherweise zurückgehen und

73
00:05:55,370 --> 00:05:59,905
den Code reparieren müssen, den Sie möglicherweise in der früheren Version Ihres Projekts geschrieben haben.

74
00:05:59,905 --> 00:06:01,790
Die Nebenversion führt

75
00:06:01,790 --> 00:06:06,385
einige kleinere Änderungen an Ihrem Paket ein und beeinträchtigt möglicherweise keine Änderungen.

76
00:06:06,385 --> 00:06:14,800
Ein Patch wäre eine Fehlerbehebung, die oft ausgegeben wird, dann wird ein kleiner Fehler entdeckt.

77
00:06:14,800 --> 00:06:21,005
Daher führen Patches in der Regel nicht zu kaputten Änderungen, so dass Sie problemlos

78
00:06:21,005 --> 00:06:24,395
eine höhere Version oder eine höhere Patch-Version

79
00:06:24,395 --> 00:06:30,215
eines bestimmten Pakets verwenden können, das Sie in Ihrer Node-Anwendung verwenden.

80
00:06:30,215 --> 00:06:33,410
Wenn Sie ein Paket installieren, können Sie

81
00:06:33,410 --> 00:06:38,465
die genaue Version des zu installierenden Pakets angeben, indem Sie npm install sagen.

82
00:06:38,465 --> 00:06:40,460
Wenn Sie beispielsweise die

83
00:06:40,460 --> 00:06:44,630
Version 4.0.0 von Express installieren möchten, können Sie express @4 .0.0 sagen.

84
00:06:44,630 --> 00:06:51,635
Sie geben also explizit an, welche Version des Pakets installiert werden soll.

85
00:06:51,635 --> 00:06:55,630
Wenn Sie mit einer höheren Patch-Version einverstanden sind,

86
00:06:55,630 --> 00:07:02,590
würden Sie sagen, npm install expres@"~4.0.0 Wenn

87
00:07:02,590 --> 00:07:07,190
eine Nebenversion höhere Version eines Pakets

88
00:07:07,190 --> 00:07:13,125
akzeptabel ist, dann würden Sie @ und den Namen des Pakets sagen.

89
00:07:13,125 --> 00:07:17,210
Jetzt wird diese Art von Informationen auch in der package.json-Datei gespeichert,

90
00:07:17,210 --> 00:07:20,070
wir werden schnell einen Besuch im Paket der json-Datei zahlen,

91
00:07:20,070 --> 00:07:23,750
wo Sie feststellen, dass einige dieser Informationen gespeichert werden.

92
00:07:23,750 --> 00:07:27,575
Wenn Sie nun die Übung durchführen, die dieser Vorlesung folgt,

93
00:07:27,575 --> 00:07:31,845
sehen Sie dies in der Datei package.json.

94
00:07:31,845 --> 00:07:38,325
Dies wird das Ergebnis des Abschlusses der Übung sein, die diesem Vortrag folgt.

95
00:07:38,325 --> 00:07:43,230
In der Übung werden wir einen einfachen Webserver mit Express konstruieren.

96
00:07:43,230 --> 00:07:46,570
Lassen Sie mich Sie nun durch eine kurze Tour von package.json führen,

97
00:07:46,570 --> 00:07:50,470
um einige Informationen in package.json zu veranschaulichen.

98
00:07:50,470 --> 00:07:56,530
Also in package.json Datei werden Sie diese Informationen hier bemerken,

99
00:07:56,530 --> 00:08:00,525
diese Eigenschaft für unsere json, die hier gespeichert wird Abhängigkeiten genannt.

100
00:08:00,525 --> 00:08:04,250
Die Abhängigkeiten

101
00:08:10,700 --> 00:08:15,230
sind, wo Sie angeben, welche zusätzlichen Module von Drittanbietern, von denen dieses spezielle Knoten-Projekt abhängig ist, so wie Sie hier sehen können, sagen wir, dass dieses Projekt von Express

102
00:08:15,230 --> 00:08:20,540
und Morgan abhängig ist und insbesondere beachten, wie diese Informationen angegeben werden hier.

103
00:08:20,540 --> 00:08:25,715
Dies ist also ^4.16.3, was bedeutet, dass dies

104
00:08:25,715 --> 00:08:31,380
mit jeder Version von 4.16.3 oder höher funktioniert.

105
00:08:31,380 --> 00:08:35,725
Sie können eine übergeordnete Nebenversion verwenden, und dieses Projekt wird immer noch in

106
00:08:35,725 --> 00:08:40,970
Ordnung sein, und ähnlich für Morgan haben wir die Informationen hier angegeben.

107
00:08:40,970 --> 00:08:47,345
Diese zusätzlichen Informationen werden also in die Datei package.json hinzugefügt, wenn Sie

108
00:08:47,345 --> 00:08:55,035
npm install ausführen und sagen —save flag für die npm installation.

109
00:08:55,035 --> 00:09:02,040
Jetzt werden Sie auch bemerken, dass ich eine.gitignore Datei hier erstellt habe und in

110
00:09:02,040 --> 00:09:09,770
der.gitignore Datei habe ich angegeben, dass git den Knoten Modulordner ignorieren sollte.

111
00:09:09,770 --> 00:09:13,275
Was genau ist also im Ordner „Node Modules“ enthalten?

112
00:09:13,275 --> 00:09:20,704
Wenn Sie Drittanbieter-Module in Ihre Node-Anwendung installieren,

113
00:09:20,704 --> 00:09:26,270
werden alle diese Drittanbieter-Module hier im Ordner Node Module gespeichert,

114
00:09:26,270 --> 00:09:31,420
so dass in Ihrem Projekt sehen Sie, dass der Ordner Node Modules hier erstellt wurde.

115
00:09:31,420 --> 00:09:34,550
Und wenn Sie sich den Ordner „Knotenmodule“ ansehen, sehen Sie

116
00:09:34,550 --> 00:09:38,495
eine ganze Reihe von Paketen, die installiert wurden.

117
00:09:38,495 --> 00:09:40,490
Jetzt wurden alle diese installiert, weil Sie

118
00:09:40,490 --> 00:09:43,250
Express und Express installieren wiederum von

119
00:09:43,250 --> 00:09:50,550
einigen anderen Paketen abhängt, die erforderlich sind, so dass alle diese auch hier standardmäßig installiert werden.

120
00:09:50,550 --> 00:09:55,850
Lassen Sie mich insbesondere auch Ihre Aufmerksamkeit auf das Express-Paket hier lenken.

121
00:09:55,850 --> 00:09:59,045
Wenn Sie also in das Express-Paket gehen, sehen Sie

122
00:09:59,045 --> 00:10:02,470
zusätzliche Informationen, die im Express-Paket gespeichert werden.

123
00:10:02,470 --> 00:10:06,435
Indexperspektive auch, da Express selbst

124
00:10:06,435 --> 00:10:10,924
ein Node-Modul ist, werden Sie eine

125
00:10:10,924 --> 00:10:14,015
package.json-Datei sehen in Express, der auch

126
00:10:14,015 --> 00:10:19,865
zusätzliche Informationen enthält, die dort natürlich sehr detailliert sind,

127
00:10:19,865 --> 00:10:25,280
für uns schwer zu verstehen sind, aber insbesondere beachten Sie

128
00:10:25,280 --> 00:10:31,330
, dass Express selbst von vielen anderen Node Modulen hier abhängig ist.

129
00:10:31,330 --> 00:10:34,820
Und das ist der Grund, warum alle diese anderen Node-Module

130
00:10:34,820 --> 00:10:38,250
auch in den Node Modules Ordner installiert wurden.

131
00:10:38,250 --> 00:10:40,160
Wenn Sie Express installieren,

132
00:10:40,160 --> 00:10:45,020
löst dies sofort auch alle seine Abhängigkeiten aus, die ebenfalls installiert werden, da

133
00:10:45,020 --> 00:10:50,980
Express diese anderen Knotenmodule benötigt, um seine Arbeit zu erledigen.

134
00:10:50,980 --> 00:10:54,590
Außerdem werden Sie in Express auch die Datei index.js sehen.

135
00:10:54,590 --> 00:11:00,125
Dies ist also der Ausgangspunkt für unser Express Node Modul selbst und

136
00:11:00,125 --> 00:11:05,690
beachten Sie insbesondere, dass die Datei index.js einfach sagt module.exports lib express erfordern.

137
00:11:05,690 --> 00:11:12,645
Der eigentliche Code für das Express-Modul selbst befindet sich also in diesem lib-Projekt,

138
00:11:12,645 --> 00:11:16,225
lib-Ordner hier und Sie können das Detail sehen.

139
00:11:16,225 --> 00:11:20,900
Wenn Sie also neugierig sind, die Details von Express selbst zu sehen, können Sie

140
00:11:20,900 --> 00:11:25,560
dort hineinschauen, aber das kann in diesem Moment ein bisschen zu viel für Sie sein.

141
00:11:25,560 --> 00:11:31,815
Akzeptieren Sie im Moment einfach die Tatsache, dass Express seine Arbeit wie erwartet erledigen wird.

142
00:11:31,815 --> 00:11:38,450
Aber ich dachte, dass es eine interessante Erfahrung sein wird, den Ordner des Node-Moduls

143
00:11:38,450 --> 00:11:45,435
zu besuchen, um eine Struktur eines bestimmten Drittanbieter-Knoten-Moduls näher zu betrachten.

144
00:11:45,435 --> 00:11:48,530
Außerdem werden Sie feststellen, dass es

145
00:11:48,530 --> 00:11:52,010
hier eine andere Datei namens package-lock.json gibt, die installiert ist.

146
00:11:52,010 --> 00:11:56,690
Jetzt wird dies von den neueren Versionen von npm installiert.

147
00:11:56,690 --> 00:12:01,190
Die package-lock.json-Datei wird automatisch von

148
00:12:01,190 --> 00:12:06,259
npm generiert, die Informationen über

149
00:12:06,259 --> 00:12:10,265
den genauen Baum speichert, der generiert wurde, wenn Sie

150
00:12:10,265 --> 00:12:14,630
andere Node-Module installieren. Dies ist sehr nützlich, wenn Sie die

151
00:12:14,630 --> 00:12:22,660
Installation der Node-Module an einem anderen Speicherort durchführen müssen.

152
00:12:22,660 --> 00:12:27,620
Wenn Sie zum Beispiel ein Git-Repository herunterladen und

153
00:12:27,620 --> 00:12:32,865
versuchen, dieses Projekt auf einem anderen Computer neu zu erstellen,

154
00:12:32,865 --> 00:12:35,930
geben Sie einfach npm install an der Eingabeaufforderung ein, und

155
00:12:35,930 --> 00:12:39,050
das wird Ihre Node-Anwendung auffordern,

156
00:12:39,050 --> 00:12:45,810
automatisch alles zu installieren, was in den Abhängigkeiten hier für Sie angegeben ist.

157
00:12:45,810 --> 00:12:53,335
Während der Erstellung, dass die package-lock.json zusätzliche Informationen speichert, die von

158
00:12:53,335 --> 00:13:01,805
npm verwendet wird, um die korrekte Installation aller erforderlichen npm-Module durchzuführen.

159
00:13:01,805 --> 00:13:05,090
Jetzt müssen Sie sich im Moment keine Gedanken über die Details dessen machen,

160
00:13:05,090 --> 00:13:08,290
was sich in der package-lock.json-Datei befindet.

161
00:13:08,290 --> 00:13:15,550
Damit schließen wir diese Lektion ab, in der wir einige Details über Express untersucht haben.