1
00:00:03,680 --> 00:00:07,800
Trong bài tập trong bài học trước,

2
00:00:07,800 --> 00:00:13,940
chúng tôi đã xây dựng một máy chủ HTTP đơn giản có thể phục vụ nội dung tĩnh,

3
00:00:13,940 --> 00:00:17,825
điều này được xây dựng hoàn toàn bằng cách sử dụng Node.js.

4
00:00:17,825 --> 00:00:20,800
Bây giờ chúng ta đã học được về Express,

5
00:00:20,800 --> 00:00:27,700
khung tối giản hỗ trợ phát triển của máy chủ trên đầu trang của Node.js,

6
00:00:27,700 --> 00:00:37,640
bây giờ chúng ta hãy xem xét làm thế nào chúng ta có thể sử dụng Express để xây dựng cùng một máy chủ trong bài tập này.

7
00:00:37,640 --> 00:00:43,520
Để bắt đầu, hãy vào thư mục Node.js mà chúng tôi đã sử dụng để lưu trữ

8
00:00:43,520 --> 00:00:51,540
tất cả các mã cho khóa học này và sau đó, tạo một thư mục mới có tên là node-express,

9
00:00:52,170 --> 00:00:56,170
và sau đó di chuyển vào thư mục này.

10
00:00:56,170 --> 00:00:59,315
Bây giờ, chúng tôi sẽ tạo ra

11
00:00:59,315 --> 00:01:06,815
một thư mục công cộng ở đây trong thư mục node express.

12
00:01:06,815 --> 00:01:14,645
Sau đó, chúng tôi sẽ đi đến nút HTTP thư mục công cộng và sau đó sao chép hai tập tin này,

13
00:01:14,645 --> 00:01:20,835
index.HTML và aboutus.html vào thư mục công cộng node-express.

14
00:01:20,835 --> 00:01:23,660
Chúng tôi sẽ phục vụ lên hai tệp này bằng cách sử dụng

15
00:01:23,660 --> 00:01:27,980
máy chủ Express mà chúng tôi sẽ xây dựng trong bài tập này.

16
00:01:27,980 --> 00:01:31,070
Bây giờ, đi đến các thiết bị đầu cuối.

17
00:01:31,070 --> 00:01:40,725
Di chuyển vào thư mục node-express trong thiết bị đầu cuối và sau đó tại dấu nhắc nhập npm init,

18
00:01:40,725 --> 00:01:44,060
để khởi tạo một ứng dụng nút.

19
00:01:44,060 --> 00:01:50,645
Sau đó, cho tên gói chúng ta hãy chỉ sử dụng node-express,

20
00:01:50,645 --> 00:02:00,725
và cho mô tả chúng ta sẽ nói Node Express Ví dụ,

21
00:02:00,725 --> 00:02:04,685
và điểm nhập là index.js,

22
00:02:04,685 --> 00:02:09,740
và tất cả phần còn lại của cùng như trước,

23
00:02:09,740 --> 00:02:14,520
và chúng ta hãy tạo tập tin package.json.

24
00:02:14,520 --> 00:02:17,290
Bây giờ, hãy để tôi mở

25
00:02:18,470 --> 00:02:26,525
dự án bằng cách sử dụng trình soạn thảo Visual Studio Code trong trường hợp của tôi và sau đó,

26
00:02:26,525 --> 00:02:35,950
trong tập tin package.json chúng ta hãy đi vào và thêm vào kịch bản mới được gọi là start,

27
00:02:35,950 --> 00:02:42,745
đó là nút chỉ mục và lưu các thay đổi.

28
00:02:42,745 --> 00:02:46,100
Bây giờ, chúng tôi đã khởi tạo module node, chúng ta

29
00:02:46,100 --> 00:02:50,060
hãy đi trước và cài đặt các Express framework

30
00:02:50,060 --> 00:02:54,985
trong dự án để sử dụng nó để xây dựng máy chủ express của chúng tôi.

31
00:02:54,985 --> 00:02:56,105
Vì vậy, tại dấu nhắc,

32
00:02:56,105 --> 00:03:01,250
gõ npm install express.

33
00:03:01,250 --> 00:03:03,065
Vì vậy, đây là cách bạn sẽ cài đặt

34
00:03:03,065 --> 00:03:07,280
một mô-đun nút của bên thứ ba nếu bạn đang tham gia khóa học này

35
00:03:07,280 --> 00:03:11,060
lần đầu tiên và chưa thực hiện các khóa học trước

36
00:03:11,060 --> 00:03:15,200
đó thì đây là điều quan trọng cần lưu ý.

37
00:03:15,200 --> 00:03:20,450
Đây là cách bạn sẽ cài đặt một mô-đun nút bằng cách thêm trừ đi lưu,

38
00:03:20,450 --> 00:03:23,435
chúng tôi cũng lưu thông tin rằng

39
00:03:23,435 --> 00:03:27,380
mô-đun nút bên thứ ba này là một phụ thuộc

40
00:03:27,380 --> 00:03:31,740
cho dự án của chúng tôi và thông tin này sẽ được lưu trong tập tin package.json.

41
00:03:31,740 --> 00:03:34,835
Nếu bạn đã thực hiện các khóa học trước đó của chuyên môn hóa,

42
00:03:34,835 --> 00:03:38,110
thì bạn đã biết về thông tin này.

43
00:03:38,110 --> 00:03:44,000
Vì vậy, chúng ta hãy đi trước và cài đặt mô-đun Express.

44
00:03:44,000 --> 00:03:45,725
Như bạn có thể nhận thấy,

45
00:03:45,725 --> 00:03:51,380
chúng tôi đang sử dụng Express phiên bản 4.16.3 trong khóa học này.

46
00:03:51,380 --> 00:03:54,875
Vì vậy, bây giờ chúng ta hãy quay trở lại mã của chúng tôi.

47
00:03:54,875 --> 00:03:58,025
Nhìn vào tập tin package.json,

48
00:03:58,025 --> 00:04:03,530
bạn thấy rằng trong tập tin package.json bằng cách cài đặt Express chúng ta đã thấy

49
00:04:03,530 --> 00:04:10,265
một thuộc tính khác được bao gồm trong tập tin package.json gọi là phụ thuộc. Sự

50
00:04:10,265 --> 00:04:13,910
phụ thuộc này theo dõi tất cả các gói

51
00:04:13,910 --> 00:04:16,750
mà dự án hiện tại này sẽ phụ thuộc vào.

52
00:04:16,750 --> 00:04:20,870
Ở đây bạn thấy Express đang được cài đặt ở

53
00:04:20,870 --> 00:04:25,790
đó và phiên bản tương ứng của Express đang được cài đặt ở đây,

54
00:04:25,790 --> 00:04:30,320
vì vậy điều này tuyên bố rằng dự án cụ thể này

55
00:04:30,320 --> 00:04:35,660
phụ thuộc vào phiên bản Express ít nhất 4.16.3.

56
00:04:35,660 --> 00:04:41,870
Ngoài ra, bạn cũng thấy thư mục này được gọi là module nút được tạo ra ở đây.

57
00:04:41,870 --> 00:04:46,175
Vì vậy, đây là nơi mà tất cả các mô-đun nút của bên thứ ba được cài đặt bởi

58
00:04:46,175 --> 00:04:51,600
ứng dụng của bạn sẽ được lưu trữ.

59
00:04:51,600 --> 00:04:54,305
Bây giờ, khi chúng tôi thực hiện một Git cam kết,

60
00:04:54,305 --> 00:04:57,895
chúng tôi không muốn cam kết này thư mục module node.

61
00:04:57,895 --> 00:04:59,965
Vì vậy, để bỏ qua điều đó,

62
00:04:59,965 --> 00:05:02,980
cho phép tạo một tập tin có

63
00:05:02,980 --> 00:05:10,675
tên là .gitignore và trong tệp.gitignore,

64
00:05:10,675 --> 00:05:14,475
hãy gõ vào các module node_.

65
00:05:14,475 --> 00:05:18,740
Vì vậy, điều này là cho Git biết rằng chúng tôi không muốn

66
00:05:18,740 --> 00:05:23,315
cam kết thư mục module node vào kho Git.

67
00:05:23,315 --> 00:05:25,580
Vì vậy, với điều này chúng ta hãy lưu các thay đổi.

68
00:05:25,580 --> 00:05:28,505
Vì vậy, bây giờ khi bạn tạo một kho lưu trữ Git,

69
00:05:28,505 --> 00:05:30,945
thư mục module node sẽ bị bỏ qua.

70
00:05:30,945 --> 00:05:36,710
Nó không phải là bắt buộc bởi vì bạn luôn có thể tạo lại thư mục module node bất cứ khi nào

71
00:05:36,710 --> 00:05:42,980
bạn sao chép dự án này từ kho Git của bạn bằng cách chỉ cần gõ npm install.

72
00:05:42,980 --> 00:05:46,405
Điều này sẽ xem xét các tập tin package.json,

73
00:05:46,405 --> 00:05:48,065
và nhìn vào tất cả các phụ thuộc,

74
00:05:48,065 --> 00:05:51,720
và các phụ thuộc phát triển trong

75
00:05:51,720 --> 00:05:55,905
tập tin package.json và được tự động cài đặt tất cả các gói cho bạn.

76
00:05:55,905 --> 00:05:58,260
Bây giờ, rằng chúng tôi đã hoàn thành điều này,

77
00:05:58,260 --> 00:06:01,810
chúng ta hãy tạo ra dự án Express đầu tiên của chúng tôi,

78
00:06:01,810 --> 00:06:09,350
do đó, để làm điều đó chúng tôi sẽ tạo ra một tập tin có tên index.js và trong index.js

79
00:06:09,350 --> 00:06:19,190
chúng tôi sẽ khai báo một const express yêu cầu express.

80
00:06:19,190 --> 00:06:23,255
Bây giờ, bạn sẽ lưu ý rằng express là một mô-đun nút của bên thứ ba và nó đã được

81
00:06:23,255 --> 00:06:27,910
cài đặt trong thư mục module nút của chúng tôi trong thư mục chính xác.

82
00:06:27,910 --> 00:06:35,150
Vì vậy, khi chúng tôi tuyên bố này ở đây nói rằng mô-đun Express này là cần thiết,

83
00:06:35,150 --> 00:06:41,030
sau đó nó sẽ được tự động bao gồm từ thư mục module nút vào ứng dụng của chúng tôi.

84
00:06:41,030 --> 00:06:46,145
Bây giờ, cũng cài đặt HTTP

85
00:06:46,145 --> 00:06:55,785
mô-đun lõi ở đây.

86
00:06:55,785 --> 00:06:57,585
Bây giờ, rằng chúng tôi đã cài đặt này, chúng ta

87
00:06:57,585 --> 00:07:04,165
hãy tạo tên khóa học như

88
00:07:04,165 --> 00:07:12,850
máy chủ địa phương và số cổng như 3000.

89
00:07:12,850 --> 00:07:17,950
Vì vậy, bạn thấy rằng chúng tôi đang sử dụng chính xác cùng một cách làm

90
00:07:17,950 --> 00:07:23,550
bài tập này như chúng tôi đã làm cho bài tập HTTP trước đó.

91
00:07:23,550 --> 00:07:25,535
Bây giờ, tại thời điểm này,

92
00:07:25,535 --> 00:07:32,560
chúng tôi sẽ khai báo const này gọi là ứng dụng như express.

93
00:07:32,560 --> 00:07:37,855
Vì vậy, theo cách này, chúng tôi đang nói rằng ứng dụng của chúng tôi sẽ sử dụng mô-đun nút Express.

94
00:07:37,855 --> 00:07:39,620
Vì vậy, một khi chúng tôi làm điều đó,

95
00:07:39,620 --> 00:07:47,840
sau đó Express cung cấp một loạt các phương pháp mà chúng tôi có thể sử dụng để xây dựng máy chủ web của chúng tôi.

96
00:07:47,840 --> 00:07:53,335
Vì vậy, sau này, chúng ta sẽ nói app.use () và bên trong đây,

97
00:07:53,335 --> 00:07:59,845
chúng tôi sẽ khai báo một chức năng sẽ được gọi để thiết lập máy chủ của chúng tôi.

98
00:07:59,845 --> 00:08:04,010
Vì vậy, chức năng này có ba tham số req,

99
00:08:04,010 --> 00:08:06,330
đó là yêu cầu; res,

100
00:08:06,330 --> 00:08:09,850
đó là phản ứng, và tiếp theo.

101
00:08:09,850 --> 00:08:19,310
Bây giờ, như chúng ta đã thấy Express sử dụng phần mềm trung gian bổ sung.

102
00:08:19,310 --> 00:08:22,955
Vì vậy, tiếp theo được sử dụng khi bạn cần

103
00:08:22,955 --> 00:08:28,080
gọi thêm middleware để chăm sóc công việc thay mặt cho bạn.

104
00:08:28,080 --> 00:08:32,930
Chúng ta sẽ thấy việc sử dụng tiếp theo trong một số bài tập sau này,

105
00:08:32,930 --> 00:08:38,350
nhưng chức năng ở đây sẽ mất ba tham số req, res, và tiếp theo.

106
00:08:38,350 --> 00:08:40,940
Tiếp theo là một tham số tùy chọn có

107
00:08:40,940 --> 00:08:46,755
thể không được bao gồm nếu bạn sẽ không sử dụng nó trong mã của bạn.

108
00:08:46,755 --> 00:08:48,685
Vì vậy, bên trong đây chúng ta sẽ nói,

109
00:08:48,685 --> 00:08:51,870
đăng nhập giao diện điều khiển và sau đó,

110
00:08:51,870 --> 00:08:57,165
chúng tôi sẽ đăng nhập tiêu đề đó,

111
00:08:57,165 --> 00:09:07,840
và chúng tôi sẽ đáp ứng với mã trạng thái thiết lập để 200.

112
00:09:11,120 --> 00:09:19,845
Đặt kiểu nội dung tiêu đề

113
00:09:19,845 --> 00:09:25,870
là HTML văn bản.

114
00:09:25,870 --> 00:09:29,150
Vì vậy, bạn nhận thấy rằng phần lớn mã này trông rất giống

115
00:09:29,150 --> 00:09:32,744
với cách chúng tôi thiết lập ứng dụng nút của chúng tôi.

116
00:09:32,744 --> 00:09:36,205
Vì vậy, chúng ta sẽ nói res.end và

117
00:09:36,205 --> 00:09:45,130
ở đây HTML cơ thể h1.

118
00:09:47,760 --> 00:09:56,245
Chúng tôi sẽ chỉ nói rằng đây là một máy chủ Express và đóng

119
00:09:56,245 --> 00:10:09,685
các xe tăng ở đó, và đó là nó.

120
00:10:09,685 --> 00:10:14,970
Từ sự hiểu biết của bạn về nút HTTP,

121
00:10:14,970 --> 00:10:18,180
bạn đã hiểu những gì ba đang làm

122
00:10:18,180 --> 00:10:22,735
và điều tương tự cũng được thực hiện trong máy chủ Express.

123
00:10:22,735 --> 00:10:26,480
Bây giờ chúng tôi đã thiết lập các máy chủ bằng cách sử dụng các ứng dụng,

124
00:10:26,480 --> 00:10:30,715
chúng tôi sẽ thiết lập các máy chủ,

125
00:10:30,715 --> 00:10:35,435
và sau đó đây là nơi chúng tôi sẽ sử dụng HTTP CreateServer,

126
00:10:35,435 --> 00:10:44,415
và do đó CreateServer bây giờ sẽ mất ứng dụng như nó là tham số chức năng ở đó,

127
00:10:44,415 --> 00:10:54,850
và sau đó, chúng tôi sẽ chỉ đơn giản là nói server.listen cổng,

128
00:10:54,850 --> 00:11:03,160
hostname và

129
00:11:03,160 --> 00:11:09,080
chức năng mũi tên ở đây trong đó tôi sẽ in ra,

130
00:11:12,560 --> 00:11:24,340
giao diện điều khiển, đăng nhập lại áo máy chủ chạy tại HTTP: //hostname:port,

131
00:11:38,560 --> 00:11:43,880
đó là nó. Vì vậy, bạn sẽ thấy rằng phần này là rất nhiều tương tự như

132
00:11:43,880 --> 00:11:48,515
những gì bạn đã làm cho các bài tập HTTP,

133
00:11:48,515 --> 00:11:51,620
ngoại trừ việc CreateServer bây giờ mất ứng dụng này,

134
00:11:51,620 --> 00:11:53,990
mà chúng tôi đã tuyên bố trước đó Express.

135
00:11:53,990 --> 00:11:58,120
Vì vậy, Express được thêm vào chức năng bổ sung mà sẽ được

136
00:11:58,120 --> 00:12:03,460
sử dụng bởi các máy chủ HTTP mà chúng tôi tạo ra bằng cách sử dụng lưu ý.

137
00:12:04,270 --> 00:12:06,540
Một khi chúng tôi đã thực hiện với điều này, chúng ta

138
00:12:06,540 --> 00:12:08,265
hãy lưu các thay đổi,

139
00:12:08,265 --> 00:12:11,625
và sau đó chúng tôi sẽ đi trước và bắt đầu máy chủ,

140
00:12:11,625 --> 00:12:14,900
và có một cái nhìn vào những gì máy chủ sẽ phục vụ lên.

141
00:12:14,900 --> 00:12:17,495
Đi vào thiết bị đầu cuối, thêm thiết bị đầu cuối,

142
00:12:17,495 --> 00:12:25,160
gõ NPM start và bạn sẽ thấy rằng máy chủ của bạn đang hoạt động và chạy.

143
00:12:25,160 --> 00:12:30,645
Bây giờ khi chúng tôi truy cập điều này từ một trong hai trình duyệt hoặc từ người đưa thư,

144
00:12:30,645 --> 00:12:33,160
bạn sẽ thấy những gì nó phục vụ lên.

145
00:12:33,160 --> 00:12:36,320
Vì vậy, ở đây tôi có Postman lên và tiền bạc.

146
00:12:36,320 --> 00:12:41,425
Hãy để tôi gửi yêu cầu GET đến localhost 3.000 giống như trước đây

147
00:12:41,425 --> 00:12:47,545
và bạn sẽ thấy rằng đây là phục vụ lên mã HTML mà chúng tôi bao gồm trong đó,

148
00:12:47,545 --> 00:12:50,655
và do đó đây là một máy chủ Express.

149
00:12:50,655 --> 00:12:52,075
Nhấp vào bản xem trước,

150
00:12:52,075 --> 00:12:56,460
điều này sẽ cho bạn thấy nó sẽ trông như thế nào trong một trình duyệt,

151
00:12:56,970 --> 00:13:03,490
và điều này cho thấy phiên bản thô của mã đã được gửi trở lại từ phía máy chủ,

152
00:13:03,490 --> 00:13:06,905
và bạn có thể thấy rằng mã trạng thái là 200, được chứ?

153
00:13:06,905 --> 00:13:13,560
Và vector thông tin tiêu đề khác đã được gửi từ trang web máy chủ.

154
00:13:13,560 --> 00:13:20,190
Thông báo đặc biệt nó nói x cung cấp bởi Express trong tiêu đề.

155
00:13:20,190 --> 00:13:24,110
Với điều này, chúng tôi hoàn thành phần đầu của bài tập này, nơi chúng tôi đã thấy

156
00:13:24,110 --> 00:13:29,535
làm thế nào chúng tôi có thể sử dụng Express để thiết lập một máy chủ web đơn giản.

157
00:13:29,535 --> 00:13:35,540
Bây giờ hãy để tôi dừng máy chủ và sau đó khởi tạo kho Git,

158
00:13:35,540 --> 00:13:40,330
vì vậy tại dấu nhắc tôi sẽ gõ “git init” và

159
00:13:40,330 --> 00:13:48,030
sau đó “git status” và bạn sẽ thấy rằng các tập tin đã được untracked,

160
00:13:48,030 --> 00:13:55,805
vì vậy tôi sẽ nói “get and dropped” và các tập tin này bây giờ được thêm vào kho Git,

161
00:13:55,805 --> 00:13:57,750
và vì vậy khi bạn nói trạng thái git,

162
00:13:57,750 --> 00:13:59,780
bạn sẽ thấy các tập tin đã được thêm vào.

163
00:13:59,780 --> 00:14:02,610
Lưu ý đặc biệt là thư mục module node

164
00:14:02,610 --> 00:14:05,750
chưa được thêm vào kho Git bởi vì trong

165
00:14:05,750 --> 00:14:09,310
tệp.gitignore chúng tôi đã tuyên bố rõ ràng rằng

166
00:14:09,310 --> 00:14:14,035
thư mục module node không nên được đưa vào kho Git.

167
00:14:14,035 --> 00:14:19,905
Vì vậy, bây giờ, chúng ta hãy kiểm tra trong trao đổi cam kết của chúng tôi bằng cách nói git

168
00:14:19,905 --> 00:14:28,095
cam kết trừ m Express ví dụ,

169
00:14:28,095 --> 00:14:32,285
và chúng tôi đã cam kết này vào kho lưu trữ Git của chúng tôi.

170
00:14:32,285 --> 00:14:34,820
Trong phần thứ hai của bài tập này,

171
00:14:34,820 --> 00:14:40,975
chúng ta sẽ xem xét việc sử dụng phần mềm trung gian Express được gọi là Morgan.

172
00:14:40,975 --> 00:14:46,390
Morgan được sử dụng để đăng nhập thông tin vào màn hình,

173
00:14:46,390 --> 00:14:50,640
vì vậy nó sẽ ghi lại thông tin về các yêu cầu đến màn hình để chúng ta

174
00:14:50,640 --> 00:14:55,185
có thể thấy một số thông tin được in trong bảng điều khiển của chúng tôi ở đây.

175
00:14:55,185 --> 00:15:02,290
Ngoài ra, chúng ta sẽ thấy làm thế nào chúng ta có thể thiết lập máy chủ Express của chúng tôi để phục vụ lên các tập tin HTML tĩnh.

176
00:15:02,290 --> 00:15:06,740
Để bắt đầu, tại dấu nhắc nhập npm

177
00:15:06,740 --> 00:15:13,505
cài đặt Morgan trừ, trừ lưu.

178
00:15:13,505 --> 00:15:18,650
Bây giờ, Morgan sẽ là một phụ thuộc mà chúng tôi sẽ được sử dụng trong ứng dụng của chúng tôi.

179
00:15:18,650 --> 00:15:20,390
Vì vậy, đó là lý do tại sao nó là trừ,

180
00:15:20,390 --> 00:15:24,530
trừ lưu và điều này sẽ nhận được Cài đặt,

181
00:15:24,530 --> 00:15:32,260
và bạn có thể thấy rằng tôi đang sử dụng Morgan phiên bản 1.9.0 trong khóa học này.

182
00:15:32,260 --> 00:15:34,735
Bây giờ chúng tôi đã cài đặt Morgan, chúng ta

183
00:15:34,735 --> 00:15:38,650
hãy xem làm thế nào chúng ta có thể sử dụng nó trong Ứng dụng của chúng tôi.

184
00:15:38,650 --> 00:15:40,615
Vì vậy, đi đến ứng dụng

185
00:15:40,615 --> 00:15:47,235
của chúng tôi, cách để làm cho sử dụng của Morgan là để khai báo ở đây

186
00:15:47,235 --> 00:15:57,015
const Morgan yêu cầu Morgan,

187
00:15:57,015 --> 00:16:01,470
và sau đó chúng tôi sẽ nói,

188
00:16:01,470 --> 00:16:10,665
“Ứng dụng sử dụng Morgan với sự phát triển”.

189
00:16:10,665 --> 00:16:12,820
Vì vậy, đây là phiên bản phát triển.

190
00:16:12,820 --> 00:16:18,045
Vì vậy, nó sẽ in ra thông tin bổ sung cho màn hình theo yêu cầu.

191
00:16:18,045 --> 00:16:21,400
Bây giờ, đi vào ứng dụng của chúng tôi.

192
00:16:21,990 --> 00:16:28,460
Trong ứng dụng của chúng tôi, tôi sẽ không đăng nhập toàn bộ tiêu đề.

193
00:16:28,460 --> 00:16:32,500
Thay vào đó, hãy để tôi loại bỏ điều này bởi vì Morgan sẽ

194
00:16:32,500 --> 00:16:37,750
đăng nhập đủ thông tin để chúng tôi xem xét,

195
00:16:37,750 --> 00:16:47,695
và tôi sẽ thiết lập máy chủ của tôi để phục vụ lên các tập tin HTML từ thư mục công cộng.

196
00:16:47,695 --> 00:16:48,945
Vì vậy, để làm điều này,

197
00:16:48,945 --> 00:16:56,660
tôi sẽ tuyên bố sử dụng và thể hiện tĩnh.

198
00:16:56,660 --> 00:17:06,265
Điều này nói với Express để phục vụ lên các tập tin tĩnh từ hai gạch dưới dirname.

199
00:17:06,265 --> 00:17:13,735
Vì vậy, điều này nói là gốc của

200
00:17:13,735 --> 00:17:19,430
dự án này và họ sẽ tìm thấy những tập tin

201
00:17:19,430 --> 00:17:25,605
trong double_dirname, plus/ public.

202
00:17:25,605 --> 00:17:30,355
Vì vậy, nhớ lại rằng chúng tôi đã tạo thư mục công cộng trong thư mục nút Express.

203
00:17:30,355 --> 00:17:35,845
Vì vậy, điều này là thông báo cho Express rằng bạn sẽ nhìn vào

204
00:17:35,845 --> 00:17:42,630
thư mục cụ thể này trong thư mục gốc của dự án này và bên trong thư mục công cộng.

205
00:17:42,630 --> 00:17:45,985
Vì vậy, đây sẽ là thư mục mà từ đó các

206
00:17:45,985 --> 00:17:52,530
tập tin HTML tĩnh sẽ được phục vụ bởi máy chủ Express của tôi.

207
00:17:52,530 --> 00:17:54,155
Sau khi thực hiện những thay đổi này,

208
00:17:54,155 --> 00:17:55,660
hãy lưu các thay đổi,

209
00:17:55,660 --> 00:17:58,615
và sau đó khởi động lại máy chủ của chúng tôi,

210
00:17:58,615 --> 00:18:01,480
và sau đó xem nó hoạt động như thế nào.

211
00:18:01,480 --> 00:18:04,495
Đi đến dấu nhắc đó,

212
00:18:04,495 --> 00:18:08,520
hãy gõ npm bắt đầu,

213
00:18:08,520 --> 00:18:10,510
để khởi động máy chủ của chúng tôi,

214
00:18:10,510 --> 00:18:12,985
và một khi máy chủ đang hoạt động và chạy,

215
00:18:12,985 --> 00:18:18,960
hãy kiểm tra những gì nó sẽ phục vụ lên khi chúng tôi gửi yêu cầu khác nhau đến máy chủ này.

216
00:18:18,960 --> 00:18:24,200
Sử dụng Postman, trước tiên chúng ta hãy gửi một yêu cầu get đến máy chủ địa phương: 3,000

217
00:18:24,200 --> 00:18:32,545
và bạn sẽ nhận thấy rằng nó đang phục vụ lên các tập tin index.html.

218
00:18:32,545 --> 00:18:38,795
Chúng tôi đã thiết lập máy chủ của chúng tôi để phục vụ các tập tin tĩnh từ thư mục công cộng,

219
00:18:38,795 --> 00:18:43,190
và nếu chúng ta chỉ nói localhost:3000 theo mặc định,

220
00:18:43,190 --> 00:18:45,060
nó sẽ phục vụ lên các tập tin index.html.

221
00:18:45,060 --> 00:18:48,685
Vì vậy, đây là cách máy chủ Web điển hình của bạn hoạt động.

222
00:18:48,685 --> 00:18:53,440
Vì vậy, đó là những gì chúng tôi đã kết thúc thiết lập máy chủ nhanh của chúng tôi để làm.

223
00:18:53,440 --> 00:19:01,735
Bây giờ, chúng ta hãy gõ vào localhost:3000 about.html và gửi yêu cầu,

224
00:19:01,735 --> 00:19:04,280
và nói đây là về chiến lược của chúng tôi HTML,

225
00:19:04,280 --> 00:19:07,660
và cũng về chúng tôi tập tin HTML đã được lưu ở đây.

226
00:19:07,660 --> 00:19:09,145
Vì vậy, trong bản xem trước,

227
00:19:09,145 --> 00:19:14,710
bạn có thể thấy các tập tin kết quả đã được phục vụ từ trang web máy chủ của chúng tôi.

228
00:19:14,710 --> 00:19:20,020
Hãy cố gắng truy cập vào một tập tin không tồn tại

229
00:19:20,020 --> 00:19:25,755
và bạn sẽ thấy rằng khi bạn cố gắng truy cập vào một tập tin không tồn tại,

230
00:19:25,755 --> 00:19:31,995
sau đó nó sẽ mặc định để thiết lập thứ hai mà chúng tôi đã thực hiện trong mã của chúng tôi,

231
00:19:31,995 --> 00:19:34,175
mà nói rằng đây là một máy chủ Express.

232
00:19:34,175 --> 00:19:37,790
Chúng tôi chưa chỉ định cho máy chủ Express của chúng tôi cách xử lý các

233
00:19:37,790 --> 00:19:42,830
tình huống mà nó gặp phải một tập tin không tồn tại.

234
00:19:42,830 --> 00:19:50,450
Vì vậy, đó là lý do tại sao nó đang sử dụng mặc định đã thiết lập ngay dưới Express tĩnh,

235
00:19:50,450 --> 00:19:53,680
đó là để phục vụ lên giá trị mặc định, và tất nhiên,

236
00:19:53,680 --> 00:19:57,335
đây không phải là hành vi lý tưởng nhất

237
00:19:57,335 --> 00:20:00,845
nhưng đó là những gì chúng tôi có trong máy chủ Express tại thời điểm này.

238
00:20:00,845 --> 00:20:04,940
Sau đó, chúng tôi sẽ sửa đổi máy chủ Express để xử lý

239
00:20:04,940 --> 00:20:10,215
lỗi chi tiết hơn, trong các bài tập sau này.

240
00:20:10,215 --> 00:20:14,780
Đây cũng là thời điểm tốt để bạn thực hiện một cam kết Git của các thay đổi.

241
00:20:14,780 --> 00:20:20,760
Vì vậy, chúng ta hãy kiểm tra trạng thái Git sau khi dừng máy chủ,

242
00:20:20,760 --> 00:20:25,925
và chúng tôi sẽ thêm các tập tin sửa đổi,

243
00:20:25,925 --> 00:20:29,189
và sau đó làm Git cam kết

244
00:20:29,189 --> 00:20:36,880
trừ đi m Express,

245
00:20:36,880 --> 00:20:44,125
phục vụ các tập tin tĩnh.

246
00:20:44,125 --> 00:20:46,030
Đó là nó. Với điều này,

247
00:20:46,030 --> 00:20:48,015
chúng tôi hoàn thành bài tập này.

248
00:20:48,015 --> 00:20:50,540
Trong bài tập này, chúng ta đã thấy cách chúng ta có thể thiết lập

249
00:20:50,540 --> 00:20:55,460
một máy chủ web đơn giản để phục vụ nội dung thay mặt chúng ta.