اکسپرس جی اس (Express js)، یا بطور ساده، اکسپرس (Express) یک فریمورک انعطاف پذیر وب برای نود جی اس است که مجموعه ای از ویژگی ها همچون APIهای ساده در اختیار قرار میدهد تا در ساختن بخش مدیریت (بک-اند یا back-end) در یک وبسایت یا اپلیکین موبایل از آنها استفاده کنیم. اکسپرس متن باز است و درحال حاضر توسط موسسه نود جی اس پشتیبانی میشود. اکسپرس (Express js) همچنین میانافزارها (middlewares) و تعاریف مسیرنویسی (Routing) پایه را برای ما فراهم میسازد.
چرا از فریمورک اکسپرس (Express js) استفاده کنیم؟
>node -v v8.5.0
2. مدیر پکیج نود (NPM): که باز هم به کمک دستور زیر در ترمینال یا خط فرمان میتوان آن را چک کرد:
>npm -v 5.4.2
به یکی از سه شیوه زیر میتوان Express js را نصب نمود:
>npm install express -g
2. نصب Express js بصورت محلی (locally): دستور زیر را در ترمینال یا خط فرمان وارد کنید تا Express js بصورت محلی و فقط برای اپلیکیشن فعلی نصب شود:
>npm install express
3. نصب اکسپرس همراه با نشانهی --store: چنانچه نشانهی --store آخر دستور نصب بهکار ببریم، اکسپرس بصورت یک وابستگی (dependency) در فایل package.json اضافه خواهدشد:
>npm install express --save
خب، بیایید یک سرور ساده در اکسپرس بسازیم که پیام آشنای hello world را بهعنوان پاسخ به کاربر ارسال میکند. به کمک یک ویرایشگر ساده متن، همانند Notepad++ کد زیر را در فایل server.js بنویسید:
var express = require('express') var app = express() app.get('/', function (req, res) { res.send('Hello World!') }) app.listen(3000, function () { console.log('Server is listening at 3000') })
اکنون به کمک دستور زیر در ترمینال یا خط فرمان، سرور را بر پا کنید (فقط سطر اول وارد کنید، سطر دوم پاسخ اجرا است):
>node server.js Server is listening at 3000
اکنون در مرورگر خود آدرس http://localhost:3000 یا http://127.0.0.1:3000 را باز کنید. مطمئنا تعجب خواهید کرد که چگونه به این سادگی یک سرویس دهنده وب راه انداختید، پورت 3000 به آن اختصاص دادید، مسیر تعیین کردید و صفحه وب نوشتید!
نکته: برای خاموش کردن سرور، کلید CTRL+C را در خط فرمانی بزنید یا پنجره خط فرمان/ترمینال را ببندید.
var express = require('express') var app = express() app.get('/', function (req, res) { res.send('Simple Example of routes!'); }) app.get('/signup', function (req, res) { res.send('This is demo route for sign up'); }) app.get('/signin', function (req, res) { res.send('This is demo route for sign in'); }) app.get('/signin/dashboard', function (req, res) { res.send('This is demo route for user who signed in and now reaches their dashboard'); }) app.listen(3000, function () { console.log('Server is listening at 3000') })
اکنون همانند مثال قبل، به کمک دستور زیر سرور را بر پا کنید. دقت کنید سطر اول را وارد کنید، سطر دوم پاسخ سیستم است:
>node routes.js Server is listening at 3000
به همین سادگی، ما چهار مسیر، معادل چهار صفحه وب ایجاد کردیم. مرورگرتان را اجرا کنید:
ساده و جادویی بود، نه؟
در اکسپرس به تقاضایی که پارامتر دارد چگونه رسیدگی میشود؟ اجازه دهید با مثالی پاسخ دهیم:
فرض کنید ماژولی به نام signup داریم که درآن سه پارامتر از سمت کاربر میگیرد، نام، ایمیل و رمز عبور. (درحالت عادی، دادهها در بانک اطلاعاتی ذخیره میشوند که در درسهای بعدی به آن میپردازیم، ولی درحال حاضر فقط برروی درک تقاضای پارامتردار تمرکز کنید)
var express = require('express'); var fs = require('fs') var app = express() app.get('/', function (req, res) { res.send('Simple Example of routes!'); }) app.get('/signup', function(req,res){ // this is how we will receive params from front end var name = req.query.name; var email = req.query.email; var password = req.query.password; //For demo purpose console.log(name + '' + email + ' ' + password); /** * Store this in a database and perform further processing */ res.send("In signup module") }); app.listen(3000, function () { console.log('Server is listening at 3000') })
برای بررسی کد بالا، دستور زیر را در خط فرمان یا ترمینال وارد کنید:
>node routes-with-params.js Server is listening at 3000
اکنون مرورگز خود را باز کنید و نشانی http://127.0.0.1:3000 یا http://localhost:3000 را برای مشاهده صفحه پیش فرض یا مسیر پیش فرض بزنید. صفحه ای خواهید دید که حاوی پیام Simple Example of routes! است.
مسیر signup نیز داریم که با نشانی http://127.0.0.1:3000/signup یا http://localhost:3000:3000 قابل دسترسی و مشاهده است و پیام In signup module را در خود نشان میدهد.
نکته: مسیرها در این قطعه کد به کمک متد GET نوشته شدهاند. پس برای ارسال پارامتر به همراه مسیر signup، میتوانید بصورت معمول زیر آنها ارسال کنید:
http://localhost:3000/signup?name=ِDaryush&email=d.meskin@yahoo.com&password=1234456
در خط فرمان یا ترمینال هم پارامترهایی که ارسال میکنید، توسط سرور به شما نشان داده میشود.
امروز، در روز یازدهم از دوره 30 روزهی نود جی اس، Express js را شناختیم و نصب و استفاده کردیم. همچنین یک سرور ساده توسط آن برپا کردیم، کمی درمورد مسیریابی گفتیم و چگونگی رسیدگی به پارامترها را نیز نشان دادیم.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.