سريع وخفيف الوزن ، محتوى ذاتي ، وسهلة الاستخدام إطار عمل على شبكة الإنترنت لل NODEJS.
تحريك Fry هو إطار لصنع خوادم الويب في Nodejs. يمكّنك من إنشاء تطبيقات وخوادم ويب بسرعة وسهولة. لذا ، إليك كيفية إنشاء واحدة:
الخطوة الأولى هي إنشاء برنامج خادم يستخدم Fry Fry. ابدأ بإنشاء مجلد ، يمكنك تسميته أي شيء تريده.
تأكد من تثبيت Node.js على جهاز الكمبيوتر الخاص بك. https://nodejs.org/en/download/
انتقل بعد ذلك إلى هذا المجلد في المحطة الطرفية وقم بتشغيل هذا الأمر:
npm install stirfry
الذي يقوم بتثبيت Fry Fry في المجلد الذي يعمل منه الخادم الخاص بك. بعد ذلك ، قم بإنشاء ملف يسمى server.js وفتحه مع محرر الرمز المفضل لديك. أضف هذا الرمز:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; لتشغيل server.js ، اكتب: node server.js
تأكد من أنك في نفس الدليل الذي يحتوي على ملف server.js في المحطة
إذا لم ينجح ذلك ، فحاول: nodejs server.js
إذا لم ينجح ذلك ، فيجب عليك تثبيت Nodejs.
على افتراض أنك فعلت ذلك بشكل صحيح ، يمكنك الذهاب إلى localhost:8080 في أي متصفح ويب ويجب أن يظهر Hello World!
يعني تعيين الخادم مساوياً لـ new StirFry(8080) أنك كنت تخبر الخادم بالاستماع إلى أي طلب على المنفذ 8080. ثم استدعاء server.request أضافت الإدخال كاستجابة للطلبات.
بعد أن تم تسمية جميع المستمعين ، يرسل الاستجابة إلى المستخدم. يمكنك إضافة إلى الرد عن طريق الكتابة
response . send ( "The thing you want to add to the response" ) ; لذلك عن طريق كتابة response.send("Hello World!") .
يمنحك Tirl Fry القدرة على معالجة كائنات الطلب والاستجابة. هذا يعني في الأساس أنه يمكنك كتابة عمليات التنفيذ والتعديلات لضرب. هنا مثال
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . pre ( function ( request , response ) {
//Now I can change the request and response object before the next code runs
request . doubleURL = request . url + request . url ;
}
server . request ( function ( request , response ) {
//Now I can access request.doubleURL, and I also can in every request listener
respose . send ( request . doubleURL ) ;
} ) ; يمكنك إنشاء امتدادات باستخدام نفس بناء الجملة مثل الخادم العادي واستخدامها فقط من خلال قول server.use(extension) ، إليك مثال على وضعه في الاعتبار ، لا تدعم الامتدادات إضافة الطبقات. إذا كنت ترغب في إنشاء طبقات في امتدادك ، قم بإنشاء وظيفة تأخذ الخادم كمدخل واتصل بها.
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let extension = new StirFry . extension ( ) ;
//I can put more preprocessors and responders if I want
extension . pre ( function ( request , response ) {
request . doubleURL = request . url + request . url ;
} ) ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;
server . request ( function ( request , response ) {
//I can use request.doubleURL
response . send ( request . doubleURL ) ;
} ) ; "use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; هذا المثال ينشئ خادمًا على المنفذ 8080 ويعينه للرد مع Hello World! بناء على أي طلب. عند استخدام response.send .
يحتوي Tirl Fry على طريقة خادم ملفات ثابتة مدمجة. كل ما عليك فعله هو:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;الجمهور هو المجلد الذي يتم تقديم الملفات منه.
يتيح لك Fry Fry تشغيل عمليات غير متزامنة متعددة في وقت واحد. يمكنك القيام بكل المعالجة المسبقة التي تريدها في الطبقة server.process ، وبعد ذلك بمجرد القيام بكل هذه الأشياء ، تعمل server.request server.pre
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
let fs = require ( 'fs' ) ;
server . pre ( function ( request , response , end , async ) {
async . start ( ) ;
fs . readFile ( 'file.txt' , function ( err , data ) {
response . data = data . toString ( ) ;
async . done ( ) ;
} ) ;
} ) ;
server . request ( function ( request , response ) {
response . send ( response . data ) ;
} ) ; يستخدم هذا البرنامج fs.readFile لإضافة خاصية إلى كائن الاستجابة ثم يرسلها إلى المستخدم. هناك الكثير من الطرق الأكثر كفاءة للقيام بذلك ، وهذا مجرد مثال على كيفية استخدام ASYNC.
تحريك Fry يحتوي على طريقة مصممة في response.sendFile .
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; عندما تقوم بإنشاء طلب أو معالج مسبق أو مستمع معالج ، فلديك خيار الحد من طلبات معينة عن طريق مطابقة Regex. هنا مثال:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; يمكنك الوصول إلى مجموعات الالتقاط regex عن طريق الوصول إلى request.params params كصفنة. request.params يعالج أيضًا سلاسل الاستعلام في الطلب.
فقط اكتب server.use(thePluginObject)
يعمل إنشاء الإضافات بطريقة مشابهة للغاية كإنشاء خوادم. الاختلاف الوحيد هو استخدام new StirFry.extension() بدلاً من new StirFry() . ثم يمكنك قول server.use(extension) ويدير جميع المستمعين. هنا مثال
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let extension = new StirFry . extension ( ) ;
extension . req ( function ( request , response ) {
let log = `Request recieved with ${ request . post ? ` ${ request . post } as post and ` : `` } ${ request . fullUrl || request . url } as the url. Recieved from ${ request . ip } on ` + formatDate ( new Date ( ) ) ; //Format date is defined externally
console . log ( log ) ;
} ) ;هذا مشابه لتمديد المسجل المدمج. إليكم كيف يمكنك استخدامه
"use strict" ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;المسجل المدمج هو وظيفة تُرجع امتدادًا لأن الأشخاص قادرون على تحديد ملف السجل
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . use ( StirFry . logger ( "logFile" ) ) ; يمكنك الوصول إلى نشر البيانات عن طريق الوصول إلى request.post كصفيف نقابي
اعتبارًا من 1.6.0 يتيح Tirpry إنشاء طبقات مخصصة في الخادم. server.placeLayer بناء الجملة لهذا server.createLayer الثلاثة server.destroyLayer إنشاء طبقة تأخذ سلسلة هي اسم الطبقة لإنشاء. تدمير الطبقة هي نفسها إنشاء طبقة ولكنها ستزيلها بدلاً من إنشائها. ستأخذ طبقة المكان أسماء طبقتين ستصنعها بحيث يتم استدعاء الطبقة التي لها نفس الاسم مثل الإدخال الأول ، دائمًا بعد الطبقة التي لها اسم الإدخال الثاني.
"use strict" ;
let StirFry = require ( '../../stirfry.js' ) ;
let server = new StirFry ( 8080 , '0.0.0.0' ) ;
server . createLayer ( 'final' ) ;
server . placeLayer ( 'final' , 'request' ) ;
server . addListenerOnLayer ( 'final' , function ( req , res ) {
res . send ( 'Hello World!' ) ;
} ) ; المؤلف الأصلي لـ Tirl Fry هو Alex Waese-Perlman
قائمة بجميع المساهمين
معهد ماساتشوستس للتكنولوجيا