آموزش Node.js

آموزش ماژول های کاربردی Node.js

پیدا کردن ماژول ها در npm

برای پیدا کردن ماژول های کاربردی node.js در npm، شما به سایت npmjs.com میرید و ماژول مورد نظرتون رو در قسمت جستجو، سرچ می کنید.

نصب ماژول های node.js

برای یادگیری نصب و ایمپورت کردن ماژول های node.js این مطلب رو بخونید.

ماژول فایل سیستم fs برای کار با فایلها

این ماژول از ماژول های کاربردی node.js است که همراه پکیج نود جی اس برای شما نصب میشود. و لامز نیست توسط پکیج منیجر آن را نصب کنید.

ماژول path برای کار با آدرس ها در Node.js

ماژول path هم جزو ماژولهای داخلی npm هستش و نیازی به نصب جداگانه نداره.

فقط باید بوسیله require به برنامه ایمپورت میشه.

متد path.join برای ساخت و ترکیب آدرس ها

از این متد برای ترکیب و ساخت آدرس ها استفاده میشه.

همونطور که یادتونه، ما برای گرفتن مسیر ها (تبدیل مسیر نسبی به مسیر کامل) دوتا Global Object به نامهای dirname__ و filename__ داریم.

معمولا از این دوتا گلوبال آبجکت بعنوان مقدار اولیه متد path.join استفاده میشه.


ماژول validator برای اعتبارسنجی string ها

این ماژول با دستور npm install validator نصب میشود.

توجه کنید که قبل از نصب ماژول های npm، میبایست خود npm در پروژه شما init شده باشد. نشانه init شدن npm در پروژه، وجود فایل package.json هستش.

داکیومنت های validator از این آدرس در سایت نود جی اس قابل دسترس است.

ماژول chalk (گچ تخته) برای رنگی کردن نوشته های کنسول

این ماژول کاربردی node.js برای کنترل رنگ خروجی های کنسول بکار میره و خیلی افکت های جالبی داره. این ماژول رو میتونین با دستور npm install chalk توی پروژه تون نصب کنین.

از اتریبیوتها و کلاسهای خوشگل و رنگارنگ ماژول chalk میتونید به راحتی استفاده کنید.

داکیومنت های چاک از این آدرس در سایت npm قابل دسترس است.

ماژول yargs برای کارکردن با آرگومان های کنسول

آرگومانهای کنسول (آرگومانهایی که هنگام اجرای برنامه از طریق کنسول آنها را به برنامه پاس می دهیم) از طریق گلوبال آبجکت process.argv قابل دسترس هستند.

اما process.argv آرگومانهای کنسول را با بیل داخل یک آرایه می ریزد و امکان تفکیک مناسب و کار با آنها را به ما نمی دهد.

برای جبران این کاستی، ما بجای استفاده از process.argv از yargs.argv استفاده می کنیم.

بجای پرینت کردن مستقیم yargs.argv، از yargs.parse استفاده می کنیم.

داکیومنت های yargs از این آدرس از سایت npm قابل دسترس است.

ماژول کاربردی request برای ایجاد درخواستهای http

هشدار: این ماژول deprecate شده!

از این ماژول بجای امکانات دیفالت http نود جی اس استفاده می کنیم. این سبکتره و امکانات بیشتری داره.

برای نصبش از دستور زیر استفاده می کنیم :

npm i request

داکیومنت های ماژول request خدابیامرز از این آدرس از سایت npm قابل دسترس است.

ماژول axios برای ایجاد درخواستهای http (جایگزین مناسب برای request)

از این ماژول کاربردی node.js برای ایجاد درخواستهای http در نود جی اس استفاده می شه.

مثلا برای اتصال به یک API و دریافت JSON ازش استفاده میشه.

برای نصبش از دستور زیر استفاده می کنیم:

npm install axios 

مثلا برای دریافت یک فایل جیسون، اینجوری ازش استفاده می کنیم:

const axios = require('axios');
 
// Make a request for a user with a given ID
axios.get('https://api.example.com/api/')
  .then(function (response) {
    // handle success
    console.log(response);
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  })
  .then(function () {
    // always executed
  });

داکیومنت های ماژول axios از این آدرس از سایت npm قابل دسترس است.

ماژول sharp برای تغییر اندازه فایل های تصویری

برای resize کردن فایلهای تصویر jpg. و png. از این ماژول استفاده میشه.

This module supports reading JPEG, PNG, WebP, TIFF, GIF and SVG images.

Output images can be in JPEG, PNG, WebP and TIFF formats as well as uncompressed raw pixel data.

این ماژول میتونه تصاویر رو با نسبت تصویر پیشفرض و یا با نسبت تصویر جدید، resize و یا crop کنه.

خیلی ساده یه آدرس تصویر و یه آدرس ذخیره سازی می گیره و بر اساس سایزی که بهش میدیم، تصویر ورودی رو resize و با نام مورد نظر ما ذخیره می کنه.

ماژول sharp بوسیله دستور زیر به پروژه قشنگ شما اضافه میشه :

npm install sharp

برای ایجاد یه پروژه ساده که یه تصویر رو بگیره و ریسایز کنه میتونید از کد زیر استفاده کنید:

const sharp = require('sharp')
sharp('myImage.png')
  .resize(300 , 200)
  .toFile('myImage_300px.png', function(err) {
    // output.jpg is a 300 pixels wide and 200 pixels high image
    // containing a scaled and cropped version of myImage.png
  });

داکیومنت های ماژول sharp از این آدرس در سایت npm قابل دسترس است.

ماژول formidable برای ایجاد فرمها و بالاخص مدیریت آپلود فایلها

از این ماژول کاربردی Node.js برای ایجاد فرم، و البته به طور خاص برای مدیریت فایلهای آپلود شده استفاده میشود.

نصب ماژول formidable از طریق دستور زیر انجام میشود:

npm install formidable

این ماژول به صورت پیشفرض، یک فایل را که کاربر در فرم آپلود کرده است، میگیرد و در مسیر موقت temp در آدرس فایلهای یوزر ویندوز ذخیره می کند. و فایل را بدون اکستنشن و با یک نام GUID ذخیره می کند.

کد زیر یک نمونه از اجرای این ماژوله که برنامه رو از طریق پورت ۸۰۸۰ لوکال هاست اجرا میکنه و یک فرم آپلود به کاربر نشون میده روی مرورگر.

و بعد از آپلود کردن فایل، نتیحه رو به صورت جیسون برمیگردونه روی مرورگر .

const http = require('http');
const formidable = require('formidable');
 
const server = http.createServer((req, res) => {
  if (req.url === '/api/upload' && req.method.toLowerCase() === 'post') {
    // parse a file upload
    const form = formidable({ multiples: true });
 
    form.parse(req, (err, fields, files) => {
      res.writeHead(200, { 'content-type': 'application/json' });
      res.end(JSON.stringify({ fields, files }, null, 2));
    });
 
    return;
  }
 
  // show a file upload form
  res.writeHead(200, { 'content-type': 'text/html' });
  res.end(`
    <h2>With Node.js <code>"http"</code> module</h2>
    <form action="/api/upload" enctype="multipart/form-data" method="post">
      <div>Text field title: <input type="text" name="title" /></div>
      <div>File: <input type="file" name="multipleFiles" multiple="multiple" /></div>
      <input type="submit" value="Upload" />
    </form>
  `);
});
 
server.listen(8080, () => {
  console.log('Server listening on http://localhost:8080/ ...');
});

داکیومنت های ماژول formidable از این آدرس در سایت npm قابل دسترس است.

ماژول Express برای راه اندازی سرور

از ماژول express نود جی اس برای راه اندازی سرور استفاده میشه.

با استفاده از ماژول express.js شما میتونید اپلیکیشن node.js خودتون رو روی مرورگر ببینید. و میتونید اپلیکیشن خودتون رو روی یک سرور اجرا کنید و در دسترس کاربران قرار بدید.

برای مطالعه داکیومنت های ماژول express به سایت expressjs.com مراجعه کنید.

آموزش کامل ماژول express.js رو در این مطلب براتون آماده کردم. حتماً بخونیدش!

این مطلب به مرور تکمیل خواهد شد!

برچسب ها

حامد عسکریان

برنامه نویس و عاشق تکنولوژی

دیدگاهتان را بنویسید

دکمه بازگشت به بالا
بستن
بستن