قهرمانی به نام Nodejs (قسمت 3)

بالاخره زمانی پیدا کردم سری به ویرگول بزنم و بتونم دانش کمی که دارم رو به اشتراک بذارم!

طبق حرفی که زدم به دلیل مهاجرت و غیره دیگه نتونستم یه مدت طولانی این اموزش رو ادامه بدم بعد این اموزش هم حتما سری به react و react native خواهیم زد... برنامه رو جوری چیدم که تا یه جایی تو اموزش nodejs پایه ها رو بگم و در اواسط یه پروژه ( راستش تصمیم نگرفتم چه پروژه ای ) با nodejs و express خواهیم زد بعد از کمی فکر واقعا به این نتیجه رسیدم که دیگه نیاز نیست با node خالی کد بزنیم چون نه نیازتون میشه نه چیزی رو درک میکنید وقتتون هم گرفته میشه پس یک راست میریم به سوی express (البته نگران نباشید با جزئیات کامل شرح میدم که سردرگمی پیش نیاد حداقل سعی میکنم) :

من دارم از yarn استفاده میکنم که یک نوع پکیج منیجر هستش شما میتونید از npm یا هرچی دوست دارید استفاده کنید :) توضیحات هر دو :

به عنوان توضیح کوتاه npm یک Package Manager هست که برای Node.js نوشته شد ولی خیلی جاها ازش استفاده شد. در ضمن استفاده از npm کاملا از طریق Command Line هست. ( برگرفته از سایت vahidm)

دقیقا yarn هم همین هستش منتها سریع تر هستش و جدیدتر و از مخازن npm استفاده میکنه و کلی قابلیت های جالب دیگه ( اگر تو ایران هستید بنظرم yarn سریع تر براتون دانلود میکنه)

همونطور که گفتم این جلسه فقط نصب و تنظیمات express قدم اول هم اینه که نصبش کنیم :

وارد فولدر پروژه میشیم و کامند لاین رو باز میکنم عبارت زیر رو تایپ میکنیم :

yarn add express

شما خیلی راحت میتونید تو اینترنت داکیومنت های yarn رو بخونید و همشون رو یاد بگیرید ولی من هر دستوری که تو هر جلسه استفاده میکنم توضیح مختصری در بارش میدم این add میاد پکیج express رو به صورت خودکار برامون نصب میکنه و همچنین فایلی به نام package.json رو برامون میسازه که میتونید نام پک های دیگه رو توش ببینیم ( این فایل کاربرد های دیگه هم داره که بعدا میگم) وقتی دانلود تموم بشه خودش مشخص میشه و مینویسه Done خب تا اینجا پکیج ما نصب شده و ما اکسپرس رو در پروژمون داریم!

حالا باید ازش استفاده کنیم , وارد index.js میشیم(درس قبل ساختیمش!) و کل کد ها رو پاک میکنیم

باید express رو فراخوانی کنیم پس:

const express = require('express')

همچنین برای راه اندازی به ویژگی app درون express نیاز داریم پس :

const app = express()


حالا خیلی راحت میام میگیم :

app.get('/', function (req, res) {
  res.send('Hello World!')
})

این کد بالا استخون اکثر روت هایی هست که قراره یاد بگیرید ببینید app که گفتم ویژگی هست و متد get همون متد get مرورگر هستش که پارامتر اولی که میگیره باید همون روت شما باشه که من جلوتر توضیح میدم بهتون پارامتر دوم که فانکشن(کال بک) هستش همیشه دو پارامتر req وres رو میگیره ( کلا پایه وب سایت و وب بر اساس request و respond هستش)

res.send()

در اصل شما میای میگی وقتی کاربر وارد روتی که مشخص کردم شد بیا و بهش یه respond بده و یه string بهش send کن که تو این مورد فقط hello world رو میفرسته و در اخر هم باید بگیم تو کجا اجرا شه که از کد زیر استفاده میکنم

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})

که جلسه قبل مشابه اونو استفاده کردیم و نباید سوالی باشه ولی من بازم توضیح میدم. app که گفتم ویژگی هستش و تو این ویژگی یه متد داریم به نام listen که بهش پارامتر اول رو میدید که پورت هستش و پارامتر دوم هم call back هستش و میتونید بگید فلان اپ داره اجرا میشه یا میتونید یه چیز کاملا بی ربط بگید :)

همونطور که میبینید من پورت 3000 رو دادم پس طبق همین پورت اگر بخوایم پیغام hello world رو ببینیم باید وارد مرورگر بشیم و

localhost:3000/

اسلش اخر که گفتم روتی هست که مشخص کردیم برای hello world حالا اگر روت رو تغییر بدم به این

 app.get('/h2', function (req, res) { 
   res.send('Hello World!2')
    }) 

در مرورگر باید برای دیدن hello world!2 روت ما میشه :

localhost:3000/h2

که با موفقیت انجام میشه