1. مقدمة إلى hapijs
Hapijs هو إطار تطبيق Open Source ، Node.js ، وهو مناسب لبناء التطبيقات والخدمات. هدف التصميم هو السماح للمطورين بالتركيز على تطوير منطق الأعمال للتطبيقات القابلة لإعادة الاستخدام وتزويد المطورين بالبنية التحتية اللازمة لبناء منطق أعمال التطبيق. أحدث إصدار من Hapijs هو الإصدار 7.2.0 حاليًا.
2. تثبيت HAPIJS وتكوين المشروع
1. قم بتثبيت مكتبة Hapi
تركيب hapijs بسيط للغاية ، قم بتنفيذ الأمر التالي:
نسخة الكود كما يلي:
$ sudo npm تثبيت hapi -g
[email protected]/usr/local/lib/node_modules/hapi
├ قبول@1.0.0
├ [email protected] ([email protected])
├ [email protected] ([email protected])
├ [email protected] ([email protected])
├ [email protected] ([email protected])
└ [email protected] ([email protected] ، [email protected])
2. تكوين المشروع
1) إنشاء دليل جديد يسمى myProject
نسخة الكود كما يلي:
$ mkdir myProject
$ CD MyProject
2) تشغيل أمر التهيئة في الدليل
نسخة الكود كما يلي:
$ npm init
يقوم هذا الأمر بإنشاء ملف package.json ، وهو بيانات تعريف المشروع.
ثم قم بتنفيذ الأمر:
نسخة الكود كما يلي:
$ NPM تثبيت -save hapi
سيتم تثبيت مكتبة HAPI في المشروع وكتابة تبعيات HAPI إلى package.json.
في هذه المرحلة ، كل ما هو مطلوب لتطوير المشروع جاهز.
ثالثا. أمثلة على التطوير
1. إنشاء خادم
نسخة الكود كما يلي:
// server.js
var hapi = require ('hapi') ؛
var server = new hapi.server (3000) ؛
server.start (function () {
console.log ('خادم تشغيل على:' ، server.info.uri) ؛
}) ؛
أولاً ، نحتاج إلى مكتبة Hapi.
ثانياً ، نقوم بإنشاء كائن خادم HAPI جديد ونمرر رقم المنفذ إلى كائن الخادم.
أخيرًا ، يتم تشغيل كائن الخادم وإخراج معلومات السجل.
لتوضيح ، عندما نقوم بإنشاء كائن خادم ، يمكننا توفير اسم المضيف أو عنوان IP أو حتى ملف Socket Unix أو خط أنابيب مرتبط باسم الخادم بواسطة نظام Windows.
2. ابدأ الخادم
تنفيذ الأمر:
نسخة الكود كما يلي:
$ node server.js
تفضل بزيارة http://127.0.0.1:3000/ ، ويعرض المتصفح المحتوى التالي:
نسخة الكود كما يلي:
{"statusCode": 404 ، "خطأ": "لم يتم العثور عليه"}
إنه أمر طبيعي ، لأنه لا يوجد شيء على الخادم نفسه ، لذا أضف منطق التوجيه أدناه.
3. منطق التوجيه
نسخة الكود كما يلي:
// server.js
var hapi = require ('hapi') ؛
var server = new hapi.server (3000) ؛
Server.Route ({
الطريقة: "الحصول على" ،
طريق: '/'،
المعالج: وظيفة (طلب ، الرد) {
الرد ("مرحبا ، العالم!") ؛
}
}) ؛
Server.Route ({
الطريقة: "الحصول على" ،
المسار: '/{name}' ،
المعالج: وظيفة (طلب ، الرد) {
الرد ('hello ،' + encodeUricomponent (request.params.name) + "!") ؛
}
}) ؛
server.start (function () {
console.log ('خادم تشغيل على:' ، server.info.uri) ؛
}) ؛
ابدأ الخادم مرة أخرى:
نسخة الكود كما يلي:
$ node server.js
وزيارة http://127.0.0.1:3000/ ، ويعرض المتصفح المحتوى التالي:
مرحبا بالعالم!
تفضل بزيارة http://127.0.0.1:3000/Zhang San ، ويعرض المتصفح المحتوى التالي:
مرحبًا ، ٪ E5 ٪ BC ٪ A0 ٪ E4 ٪ B8 ٪ 89!
يمكن ملاحظة أن منطق التوجيه يعمل بشكل طبيعي.
ملحوظة:
يمكن أن تكون معلمة الطريقة هي أي طريقة HTTP صالحة أو علامات النجمة* (تمثل أي طريقة HTTP).
تحدد معلمة المسار مسار الوصول ، والذي يمكن أن يحتوي على معلمات ومعلمات اختيارية وحتى أحرف البدل.
4. استخدم المكونات الإضافية
عند إنشاء تطبيق ويب ، عادة ما نحتاج إلى الوصول إلى السجل. لإضافة إخراج السجل الأساسي إلى التطبيق ، يمكننا تحميل المكون الإضافي الجيد على الخادم.
1. قم بتثبيت المكونات الإضافية الجيدة
نسخة الكود كما يلي:
$ sudo npm تثبيت -save جيد
[email protected] node_modules/جيد
├ [email protected] (عناصر [email protected])
└ [email protected] ([email protected] ، [email protected])
2. تحديث رمز server.js
نسخة الكود كما يلي:
// server.js
var hapi = require ('hapi') ؛
var good = require ('Good') ؛
var server = new hapi.server (3000) ؛
Server.Route ({
الطريقة: "الحصول على" ،
طريق: '/'،
المعالج: وظيفة (طلب ، الرد) {
الرد ("مرحبا ، العالم!") ؛
}
}) ؛
Server.Route ({
الطريقة: "الحصول على" ،
المسار: '/{name}' ،
المعالج: وظيفة (طلب ، الرد) {
الرد ('hello ،' + encodeUricomponent (request.params.name) + "!") ؛
}
}) ؛
server.pack.register (جيد ، وظيفة (خطأ) {
إذا (خطأ) {
// حدث شيء سيء تحميل البرنامج المساعد
رمي الخطأ
}
server.start (function () {
server.log ('info' ، "الخادم الذي يعمل على: ' + server.info.uri) ؛
}) ؛
}) ؛
تشغيل server.js ، إخراج وحدة التحكم:
نسخة الكود كما يلي:
141102/161007.644 ، info ، خادم التشغيل على: http: // localhost: 3000
إذا واصلنا الزيارة: http://127.0.0.1:3000/liqiang
و http://127.0.0.1:3000/
ستستمر وحدة التحكم في الإخراج:
نسخة الكود كما يلي:
141102/161150.689 ، طلب ، http: // thinker-lq: 3000: get/liqiang {} 200 (37ms)
141102/161155.812 ، request ، http: // thinker-lq: 3000: get/{} 200 (4ms)