1
00:00:03,920 --> 00:00:07,800
الآن، بعد أن تعلمنا عن Express Generator،

2
00:00:07,800 --> 00:00:10,890
أداة السقالات لتطبيقات الخبراء،

3
00:00:10,890 --> 00:00:17,405
دعونا تثبيت Express Generator ثم إنشاء تطبيق Express جديد.

4
00:00:17,405 --> 00:00:20,250
سنقوم بإنشاء النسخة المتماثلة الدقيقة

5
00:00:20,250 --> 00:00:25,850
لتطبيق Express REST API الذي قمنا بتنفيذه في الوحدة النمطية السابقة.

6
00:00:25,850 --> 00:00:30,025
سنقوم بالفعل بإعادة استخدام أجهزة التوجيه الثلاثة، أجهزة

7
00:00:30,025 --> 00:00:34,970
التوجيه Express التي قمنا بتنفيذها في تطبيق Express السابق في

8
00:00:34,970 --> 00:00:38,690
التطبيق الذي تم إنشاؤه حديثًا والذي سنقوم بإنشائه

9
00:00:38,690 --> 00:00:43,430
باستخدام Express Generator في هذا التمرين.

10
00:00:43,430 --> 00:00:48,680
للبدء، الخطوة الأولى هي تثبيت مولد Express.

11
00:00:48,680 --> 00:00:52,610
لذلك، في نوع موجه «npm

12
00:00:52,610 --> 00:00:59,210
install -g» لتثبيته كوحدة NPM العالمية.

13
00:00:59,210 --> 00:01:05,120
سنقول Express Generator وضرب العودة.

14
00:01:05,120 --> 00:01:10,910
الآن، إذا كنت تقوم بالتثبيت على OSX أو جهاز Linux،

15
00:01:10,910 --> 00:01:14,400
فتأكد من استخدام sudo أمام هذا الأمر.

16
00:01:14,400 --> 00:01:21,500
ثم قم بتثبيت التطبيق كتطبيق عالمي.

17
00:01:21,500 --> 00:01:29,850
كما ترون، إصدار Express Generator الذي أستخدمه هو 4.16.0 في هذه الدورة.

18
00:01:29,850 --> 00:01:33,845
الآن، بعد أن قمنا بتثبيت Express Generator، في المحطة الطرفية الخاصة بك،

19
00:01:33,845 --> 00:01:37,590
انتقل إلى المجلد Node.Js حيث كنت قد تم تخزين

20
00:01:37,590 --> 00:01:42,080
كافة تطبيقات العقدة المختلفة التي قمنا بتطويرها في هذه الدورة،

21
00:01:42,080 --> 00:01:43,745
في المجلد Node.Js.

22
00:01:43,745 --> 00:01:50,020
في موجه نوع اكسبرس كونفوسيونسيرفر.

23
00:01:50,020 --> 00:01:53,865
الآن، إذا كنت تتابع من الدورات السابقة،

24
00:01:53,865 --> 00:01:57,410
فأنت تفهم لماذا أسميها الارتباك ولذا

25
00:01:57,410 --> 00:02:01,860
دعونا سقالة تطبيقنا السريع في ConfusionServer.

26
00:02:01,860 --> 00:02:07,165
أنا السقالات خارج دون أي خيارات جديدة وبعد ذلك في غضون فترة قصيرة،

27
00:02:07,165 --> 00:02:10,125
سيتم سقالة خادم إكسبريس بها.

28
00:02:10,125 --> 00:02:14,390
الآن، انتقل إلى مجلد ConfusionServer ومن ثم

29
00:02:14,390 --> 00:02:18,680
سترى أن مجموعة من الملفات قد تم بالفعل سقالة بالنسبة لك.

30
00:02:18,680 --> 00:02:23,645
لذلك، دعونا فتح هذا المشروع في فيسوال ستوديو كود.

31
00:02:23,645 --> 00:02:28,935
أيضا، في موجه نوع «npm

32
00:02:28,935 --> 00:02:33,110
install» لتثبيت كافة وحدات NPM

33
00:02:33,110 --> 00:02:36,070
التي تم تضمينها بالفعل في ملف package.json.

34
00:02:36,070 --> 00:02:39,590
لذلك، دعونا نلقي نظرة سريعة على ملف package.json لمعرفة ما هي

35
00:02:39,590 --> 00:02:44,360
جميع وحدات NPM Node المختلفة التي سيتم تثبيتها.

36
00:02:44,360 --> 00:02:46,200
الذهاب إلى تطبيقنا،

37
00:02:46,200 --> 00:02:48,175
في ملف package.json،

38
00:02:48,175 --> 00:02:52,550
ترى أن الخادم بالاسم الافتراضي

39
00:02:52,550 --> 00:02:57,200
قد تم تسقله وترى مجموعة من التبعيات التي تم الإعلان عنها هنا.

40
00:02:57,200 --> 00:03:02,390
لذلك، سيتم تثبيت جميع وحدات الآلية الوقائية الوطنية هذه تلقائيًا

41
00:03:02,390 --> 00:03:08,970
من قبل الآلية الوقائية الوطنية عند كتابة «npm install» في هذا المجلد.

42
00:03:08,970 --> 00:03:13,370
لذلك، سترى مجلد وحدات العقدة التي يتم إنشاؤها هنا.

43
00:03:13,370 --> 00:03:17,600
انتقل إلى المحطة، اكتب «npm install» ثم اتركه

44
00:03:17,600 --> 00:03:22,320
يمضي قدما في تثبيت جميع وحدات NPM المختلفة.

45
00:03:22,320 --> 00:03:23,985
بمجرد الانتهاء من جميع،

46
00:03:23,985 --> 00:03:29,810
ثم نحن على استعداد للبدء مع تطبيق إكسبريس لدينا.

47
00:03:29,810 --> 00:03:34,595
ستلاحظ أنه تم بالفعل تثبيت تطبيق Express الافتراضي.

48
00:03:34,595 --> 00:03:35,710
لذلك في موجه،

49
00:03:35,710 --> 00:03:38,105
إذا كنت ببساطة تقول npm start،

50
00:03:38,105 --> 00:03:42,295
فسيبدأ التطبيق الافتراضي ويمكنك

51
00:03:42,295 --> 00:03:48,500
تصفح باستخدام المتصفح القياسي لمعرفة ما يخدمه هذا التطبيق.

52
00:03:48,500 --> 00:03:58,645
انتقل إلى ساعي البريد في نوع كتلة العنوان localhost: 3000

53
00:03:58,645 --> 00:04:03,185
وإرسال الطلب وسترى أن الخادم الخاص بك سيعود

54
00:04:03,185 --> 00:04:12,045
هذه المعلومات الافتراضية من موقع الخادم.

55
00:04:12,045 --> 00:04:20,075
لذا، هذا هو خادم Express القياسي الذي يتم تسقله بواسطة Express Generator.

56
00:04:20,075 --> 00:04:23,550
على وحدة التحكم، سترى معلومات مثل هذه المطبوعة هنا.

57
00:04:23,550 --> 00:04:30,180
هذا ما يطبعه (مورغان) على الشاشة لإظهار الطلبات القادمة

58
00:04:30,180 --> 00:04:34,955
لذلك، فإنه يعرض نوع الطلب الذي عنوان URL

59
00:04:34,955 --> 00:04:40,820
والاستجابة المقابلة التي تم إرسالها مرة أخرى إلى العميل من الخادم.

60
00:04:40,820 --> 00:04:45,050
دعنا نوقف خادم Express.

61
00:04:45,050 --> 00:04:49,430
لنقم بتهيئة مستودع Git ثم

62
00:04:49,430 --> 00:04:57,360
سنتحقق من حالة Git وسترى أنه يتم تضمين وحدات العقدة.

63
00:04:57,360 --> 00:05:03,800
لذلك، اسمحوا لي التبديل إلى طلبي ثم إنشاء

64
00:05:03,800 --> 00:05:10,895
ملف gitignore ثم في ملف gitignore،

65
00:05:10,895 --> 00:05:17,470
اسمحوا لي أن تحديد وحدات العقدة كملف أريد تجاهله.

66
00:05:17,470 --> 00:05:20,815
ثم العودة إلى المحطة،

67
00:05:20,815 --> 00:05:25,090
اسمحوا لي أن تحقق من حالة git وترى

68
00:05:25,090 --> 00:05:30,385
أننا الآن سوف يتم التحقق فقط من تلك الملفات التي هي جزء من التطبيق لدينا.

69
00:05:30,385 --> 00:05:33,925
لذلك، في موجه، اكتب git add،

70
00:05:33,925 --> 00:05:42,085
ثم قل، حالة git وترى أن جميع الملفات قد تم التحقق منها.

71
00:05:42,085 --> 00:05:50,725
لذا، أنت تقول، git ارتكاب -m «Express Generator».

72
00:05:50,725 --> 00:05:54,500
الآن، نحن ذاهبون لمواصلة مع هذا التطبيق إكسبريس.

73
00:05:54,500 --> 00:05:58,820
لقد قمنا بالفعل ببناء أجهزة التوجيه الثلاثة باستخدام

74
00:05:58,820 --> 00:06:04,505
جهاز التوجيه Express في تطبيق Express السابق الذي قمنا بتنفيذه.

75
00:06:04,505 --> 00:06:09,965
سنقوم بنسخ هذه الموجهات الثلاثة لهذا التطبيق الذي قمنا بإنشائه باستخدام

76
00:06:09,965 --> 00:06:16,240
Express Generator وأيضا إعداد هذا التطبيق للاستفادة من تلك الموجهات الثلاثة.

77
00:06:16,240 --> 00:06:17,980
لذلك، للقيام بذلك،

78
00:06:17,980 --> 00:06:24,120
اسمحوا لي أن أذهب إلى المجلد Node.Js وبعد ذلك،

79
00:06:24,120 --> 00:06:27,670
الذهاب إلى مجلد عقدة اكسبرس والطرق،

80
00:06:27,670 --> 00:06:30,380
وأنا ذاهب لنسخ dishRouter.js،

81
00:06:30,380 --> 00:06:34,460
leaderRouter.js router.js و التي قمت بتنفيذها

82
00:06:34,460 --> 00:06:39,410
في المهمة ونحن سوف تأتي إلى

83
00:06:39,410 --> 00:06:45,170
كونفوسيونسيرفر أن أنا promoRouter.js إلى مجلد المسارات ثم قم بنسخها

84
00:06:45,170 --> 00:06:51,720
عبر أجهزة التوجيه Express الثلاثة التي أنشأناها هناك.

85
00:06:51,720 --> 00:06:58,140
لذلك تلقائيا، والآن تعديل ملف app.js،

86
00:06:58,140 --> 00:07:01,250
ونحن سوف تكون قادرة على دعم أبي ريست باستخدام

87
00:07:01,250 --> 00:07:05,080
التطبيق إكسبريس أن لدينا فقط سقالة بها.

88
00:07:05,080 --> 00:07:09,535
دفع زيارة سريعة إلى التطبيق الذي تم سقالة بها.

89
00:07:09,535 --> 00:07:12,515
كما ذكرت في المحاضرة السابقة،

90
00:07:12,515 --> 00:07:16,780
فإن app.js هو المكان الذي يبدأ فيه كل شيء.

91
00:07:16,780 --> 00:07:20,540
لذلك، هذا هو الملف القياسي حتى تتمكن من رؤية بعض

92
00:07:20,540 --> 00:07:25,360
الأشياء التي كنت على دراية من الوحدة السابقة.

93
00:07:25,360 --> 00:07:31,440
لذلك، نحن نطلب تسجيل المسار السريع الذي هو مورغان في هذه الحالة.

94
00:07:31,440 --> 00:07:35,570
CookieParser التي سوف نستخدمها في واحدة من التدريبات اللاحقة

95
00:07:35,570 --> 00:07:40,170
وترى أيضا أن كنت تستورد طريقين؛

96
00:07:40,170 --> 00:07:42,220
الفهرس والمستخدمين،

97
00:07:42,220 --> 00:07:45,225
والتي هي بالفعل سقالة من قبل Express بالنسبة لنا.

98
00:07:45,225 --> 00:07:51,300
لذلك، سوف نضيف في ثلاثة أجهزة التوجيه الجديدة هنا.

99
00:07:51,300 --> 00:08:00,734
لذا، سأقول فقط، var DishRouter تتطلب طرق

100
00:08:00,734 --> 00:08:10,480
DishRouter وبعد ذلك سوف ينسخ هذا ثم يستورد أيضًا

101
00:08:10,480 --> 00:08:24,470
PromorOter

102
00:08:26,670 --> 00:08:32,315
و LeaderRouter وسنقوم بإعداد هذه لاستخدامها هنا.

103
00:08:32,315 --> 00:08:35,735
هنا ترى أن يتم تثبيت الفهرس

104
00:08:35,735 --> 00:08:40,070
في الشرطة المائلة ثم يتم تثبيت المستخدمين في/المستخدمين.

105
00:08:40,070 --> 00:08:43,160
لذلك، سنقول، استخدام التطبيق

106
00:08:43,160 --> 00:08:52,970
والأطباق DishRouter.

107
00:08:52,970 --> 00:08:54,840
إنها الساعة الرابعة

108
00:08:59,890 --> 00:09:17,910
الترقيات PromorOter والقادة. (

109
00:09:18,030 --> 00:09:22,735
ليدر راوتر) هذا كل شيء. تم

110
00:09:22,735 --> 00:09:27,045
الآن إعداد تطبيق Express الذي تم تسقله بالكامل

111
00:09:27,045 --> 00:09:32,000
ليكون خادم REST API الكامل الذي سيعمل على الطبق

112
00:09:32,000 --> 00:09:34,595
والأطباق والعروض الترويجية والقادة.

113
00:09:34,595 --> 00:09:37,630
الآن، إذا كنت تصفح من خلال بقية التعليمات البرمجية،

114
00:09:37,630 --> 00:09:41,175
وسوف تبدو كل مألوفة مع بعض الأشياء الجديدة في هناك.

115
00:09:41,175 --> 00:09:47,290
سنقوم بزيارتها كما وعندما نحتاج إلى فهم المزيد من التفاصيل هناك.

116
00:09:47,290 --> 00:09:50,655
لذلك، يمكنك أن ترى أن الخادم الثابت قد تم الإعداد،

117
00:09:50,655 --> 00:09:56,150
وقد تم إعداد المسجل هناك وبعض من هذا الآخر - لذلك،

118
00:09:56,150 --> 00:10:02,315
هذا واحد هو معالج عالمي للأخطاء.

119
00:10:02,315 --> 00:10:06,150
سنرى كيفية الاستفادة منه بمزيد من التفصيل.

120
00:10:06,150 --> 00:10:10,855
وهذه هي معالجات الخطأ الإضافية التي تتبع بعد هذا.

121
00:10:10,855 --> 00:10:16,635
سنرى كيف نستفيد منها ونحن ننفذ المزيد في هذا التطبيق.

122
00:10:16,635 --> 00:10:19,325
لذا، هذا هو المكان الذي تلاحظ فيه كل هذه المعلومات.

123
00:10:19,325 --> 00:10:23,140
الآن، أنت تتساءل أين

124
00:10:23,140 --> 00:10:27,575
تم تكوين الخادم نفسه إلى المضيف المحلي ويتم تكوين رقم المنفذ.

125
00:10:27,575 --> 00:10:34,840
الآن، هذه المعلومات موجودة في هذا الملف يسمى bin/www.

126
00:10:34,840 --> 00:10:38,075
إذا قمت بفتح المجلد bin/www،

127
00:10:38,075 --> 00:10:40,340
سترى معلومات إضافية هنا.

128
00:10:40,340 --> 00:10:44,340
لذلك، فإنه يقول، فار التطبيق تتطلب.. قطع/التطبيق.

129
00:10:44,340 --> 00:10:46,330
لذلك، من مجلد بن،

130
00:10:46,330 --> 00:10:47,480
يمكنك الخروج هنا وبعد ذلك،

131
00:10:47,480 --> 00:10:50,805
هذا الملف app.js مطلوب هنا في هذا؛

132
00:10:50,805 --> 00:10:54,245
وهكذا، من شأنها أن تشمل تلقائيا صريحة وكل شيء.

133
00:10:54,245 --> 00:10:56,440
ثم، هنا تقوم بإعداد

134
00:10:56,440 --> 00:11:00,510
خادم http هنا وتقوم بإعداد رقم المنفذ.

135
00:11:00,510 --> 00:11:04,570
يمكنك أيضًا توفير رقم المنفذ الخاص بك في سطر الأوامر،

136
00:11:04,570 --> 00:11:08,575
ولكن في هذه اللحظة سنستخدم القيمة الافتراضية، وهي 3000،

137
00:11:08,575 --> 00:11:11,830
وسنقوم بإعداد رقم المنفذ هنا؛ وبعد ذلك،

138
00:11:11,830 --> 00:11:16,935
ترى خادم var Http.createServer الذي رأيته سابقًا،

139
00:11:16,935 --> 00:11:20,590
ويستمع الخادم الأشياء هنا.

140
00:11:20,590 --> 00:11:28,050
ثم، أيضا، وهنا بعض الاستماع للأحداث على جانب الخادم.

141
00:11:28,050 --> 00:11:30,940
سنعود إلى هذا في واحدة من التدريبات اللاحقة.

142
00:11:30,940 --> 00:11:33,320
وبعد ذلك، أسفل سترى بعض

143
00:11:33,320 --> 00:11:36,560
التعليمات البرمجية الإضافية التي تقوم بإعداد الخادم الخاص بك لتكون قادرة على

144
00:11:36,560 --> 00:11:43,170
التعامل مع الأخطاء والاستماع للطلبات الواردة على رقم المنفذ وهلم جرا.

145
00:11:43,170 --> 00:11:46,080
في هذه اللحظة، لا تقلق كثيرا حول هذا الرمز.

146
00:11:46,080 --> 00:11:48,730
سنقوم بإعادة النظر في هذا الرمز كلما طلبنا،

147
00:11:48,730 --> 00:11:55,580
وسنقوم بتعديل هذا الرمز عندما نطلب ذلك في أحد التمارين اللاحقة.

148
00:11:55,580 --> 00:12:01,595
لذلك، هذا هو المكان الذي يتم فيه إعداد جميع معلومات الخادم الخاص بك هناك.

149
00:12:01,595 --> 00:12:06,070
و app.js، رأينا بالفعل مجلد المسارات هناك.

150
00:12:06,070 --> 00:12:15,530
Index.js و users.js اثنين من المسارات الافتراضية التي تم إعدادها بالفعل بالنسبة لنا.

151
00:12:15,530 --> 00:12:19,575
سوف نستخدم users.js في واحدة من التدريبات في وقت لاحق.

152
00:12:19,575 --> 00:12:21,900
وفي المجلد العام،

153
00:12:21,900 --> 00:12:25,410
دعونا المضي قدما ونسخ index.html و

154
00:12:25,410 --> 00:12:31,345
aboutus.html من تطبيق إكسبريس لدينا في المجلد العمومي أيضا.

155
00:12:31,345 --> 00:12:39,895
لذلك، والعودة إلى المجلد العام عقدة اكسبرس.

156
00:12:39,895 --> 00:12:42,250
أنا فقط ذاهب لنسخ هذين الاثنين.

157
00:12:42,250 --> 00:12:47,135
وبعد ذلك، سنعود إلى خادم الارتباك؛

158
00:12:47,135 --> 00:12:49,840
وبعد ذلك، في المجلد العام،

159
00:12:49,840 --> 00:12:52,410
سأقوم ببساطة بلصقها في مكانها.

160
00:12:52,410 --> 00:12:54,355
في الوقت الحالي، هذه هي العناصر النائبة.

161
00:12:54,355 --> 00:12:57,960
في وقت لاحق، سنقوم باستبدالها بأشياء أخرى.

162
00:12:57,960 --> 00:13:00,240
لذلك، مع هذه التغييرات،

163
00:13:00,240 --> 00:13:04,385
يتم الآن إعداد خادمنا بالكامل للتشغيل

164
00:13:04,385 --> 00:13:09,235
كخادم REST API وسيدعم جميع نقاط نهاية REST API.

165
00:13:09,235 --> 00:13:13,105
لذلك، دعونا نبدأ الخادم لدينا.

166
00:13:13,105 --> 00:13:14,680
لذلك، في موجه،

167
00:13:14,680 --> 00:13:19,910
اكتب npm start وسيعمل الخادم الخاص بك.

168
00:13:19,910 --> 00:13:24,555
دعونا نذهب إلى PostBin وإرسال بعض الطلبات إلى هذا الخادم.

169
00:13:24,555 --> 00:13:29,545
دعونا الآن إرسال طلب الحصول على المضيف المحلي 3000/الأطباق،

170
00:13:29,545 --> 00:13:36,210
وستلاحظ أن خادم REST API يعمل بالضبط كما نتوقع.

171
00:13:36,210 --> 00:13:41,250
نرسل طلب حذف وسوف حذف الأطباق.

172
00:13:41,250 --> 00:13:44,580
وبعد ذلك، دعونا

173
00:13:44,580 --> 00:13:49,800
نرسل طلب حذف إلى العروض الترويجية وترى أنه يعمل تماما كما كان من قبل.

174
00:13:49,800 --> 00:13:55,075
ونحن نفعل وظيفة للترقيات

175
00:13:55,075 --> 00:14:09,430
مع الجسم fielding

176
00:14:23,730 --> 00:14:26,725
وإرسال طلب آخر،

177
00:14:26,725 --> 00:14:28,750
وسوف نرى أنه يقول،

178
00:14:28,750 --> 00:14:31,790
«سنضيف اختبار الترقية مع وصف مفصل.»

179
00:14:31,790 --> 00:14:38,425
دعونا نرسل هذا إلى القادة 23،

180
00:14:38,425 --> 00:14:45,190
ولكن وضع طلب إلى القادة. 23 ويجب أن ترى أنه يقول، «تحديث الزعيم 23.

181
00:14:45,190 --> 00:14:47,655
سيرفع مستوى القائد». لذلك، ترى

182
00:14:47,655 --> 00:14:51,780
أن مولد Express الذي أنشأ التطبيق وقمنا

183
00:14:51,780 --> 00:14:55,060
بتعديله لدعم نقاط النهاية REST API بالكامل التي

184
00:14:55,060 --> 00:14:59,315
قمنا بتكوينها في الإصدار السابق من جهاز التوجيه Express.

185
00:14:59,315 --> 00:15:05,020
الآن، مع هذا، نكمل هذا التمرين حيث أثبتنا كيف يمكننا

186
00:15:05,020 --> 00:15:10,610
استخدام مولد Express لبناء نقطة نهاية REST API.

187
00:15:10,610 --> 00:15:17,740
الآن، هذا هو الوقت المناسب بالنسبة لنا للقيام جيت كيرميت من التغييرات مع الرسالة،

188
00:15:17,740 --> 00:15:21,110
«إكسبريس مولد ريست أبي».