برنامه نویسی

مقدمه ای برای Nestjs: اولین برنامه خود را ایجاد کنید

در این مقاله ، ما یک مرور کلی از آنچه که Nestjs است ، چگونه کار می کند ، چرا باید از آن استفاده کنید و چگونه می توانید اولین برنامه خود را با این چارچوب قدرتمند ایجاد کنیم. و نگران نباشید ، ما سیم پیچ زیادی نخواهیم داشت ، بیایید به این نکته برویم!

این مقاله اولین بار در سری “غالب Nestjs” است ، جایی که ما مفاهیم و عملکرد اصلی چارچوب و همچنین ایجاد پروژه های عملی را کشف می کنیم.

Nestjs چیست؟

Nestjs چارچوبی برای ساخت برنامه های گره خورده و کارآمد Node.js با استفاده از TypeScript است. ساخته شده بر روی اکسپرس ، یک معماری ماژولار را به ارمغان می آورد و سازمان و نگهداری کد را تسهیل می کند.

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

چرا از Nestjs استفاده می کنیم؟

پاسخ ساده است: بهره وری و مقیاس پذیریبشر Nestjs یک ساختار محکم و سازمان یافته را برای توسعه برنامه ها ارائه می دهد و به شما امکان می دهد روی منطق کسب و کار تمرکز کنید در حالی که چارچوب از بخش ساختاری مراقبت می کند. با این کار می توانید تولید اجزای قابل استفاده مجدد را تسهیل کنید و نگهداری و تکامل کد را تسهیل کنید.

Nestjs همچنین دارای پشتیبانی از نوع بومی است که مزایایی از قبیل تایپ قوی و تجربه بهتر توسعه را به همراه دارد. با این کار ، ما می توانیم از یک آستانه و/یا زیباتر برای استاندارد سازی و تمیز نگه داشتن کد استفاده کنیم و درک و همکاری سایر توسعه دهندگان در پروژه را آسان تر می کند.

جامعه Nestjs کاملاً فعال و در حال رشد است. می توانید سرور Discord Nestjs را وارد کرده و با سایر توسعه دهندگان به سوالات خود پاسخ دهید. همچنین دارای یک مستندات کامل و خوب ساختار یافته است که یادگیری و اتخاذ چارچوب را تسهیل می کند.

همچنین می توان Nestjs را با سایر فناوری ها ، مانند پایگاه داده های رابطه ای و غیر مرتبط ، پیام ها ، احراز هویت ، آزمایش های خودکار ، از جمله دیگر ادغام کرد. این امر باعث می شود Nestjs یک انتخاب عالی برای پروژه هایی با اندازه و پیچیدگی باشد.

در این سریال چه خواهید آموخت؟

در این سری ، مفاهیم و ویژگی های اصلی Nestjs را به روشی عملی و عینی کشف خواهیم کرد. بنابراین ، بیایید از منابع زیر استفاده کنیم و از آنها استفاده کنیم:

  • ماژول: کلاس ذکر شده با دکوراتور @Module، که ابرداده را برای سازماندهی و مدیریت ساختار برنامه فراهم می کند.
  • کنترل کننده: مسیرها را ایجاد می کند و درخواست های HTTP را کنترل می کند ، پارامترهای مسیر ، رشته های پرس و جو و بدنه درخواست را کنترل می کند.
  • خدمات: شامل منطق کاربرد برنامه ، می تواند برای تزریق خدمات به کنترل کننده ها و سایر خدمات استفاده شود.
  • تزریق وابستگی: مدیریت وابستگی بین مؤلفه ها را تسهیل می کند.
  • ظروف میانبر: درخواست ها و پاسخ ها ، به شما امکان می دهد ویژگی های مختلفی را از جمله دیگر اضافه کنید.
  • لوله: داده های ورودی را تبدیل و اعتبار دهید و به شما امکان می دهد اطمینان حاصل کنید که داده های دریافت شده در قالب صحیح است.
  • نگهبانان: از مسیرها و منابع محافظت کنید و امکان اجرای احراز هویت و مجوز را فراهم کنید.
  • تزیین کننده: ابرداده را به کلاس ها و روش ها اضافه کنید ، پیکربندی مسیر ، اعتبار سنجی داده ها را از جمله دیگر تسهیل کنید.
  • پشتیبانی فناوری: ادغام با بانکهای اطلاعاتی ، احراز هویت ، صف ها ، تست های خودکار ، از جمله موارد دیگر.

پیش نیازهای

دیگر نه بلاه بلا ، بیایید دستان خود را کثیف کنیم! اول از همه ، بیایید به پیش نیازها برویم. برای دنبال کردن این سریال ، باید دانش اساسی داشته باشید جاذب اشمیه شرح، علاوه بر مفاهیم توسعه apis آرامبشر
و البته ، شما باید Node.js را روی دستگاه خود نصب کنید.

1. نصب Node.js با NVM

شما می توانید آخرین نسخه Node.js را در اینجا بارگیری کنید ، توصیه می کنم از Node.js LTS (پشتیبانی بلند مدت) استفاده کنید که پایدارترین و توصیه شده ترین نسخه برای اکثر کاربران است.

شما همچنین می توانید از NVM (مدیر نسخه گره) برای مدیریت نسخه های Node.js در دستگاه خود و زندگی خود را در آینده آسان تر کنید. NVM به شما امکان می دهد بین نسخه های مختلف Node.js به راحتی نصب و تغییر دهید. برای اطلاع از نصب NVM ، به اسناد رسمی مراجعه کنید. با نصب NVM ، می توانید آخرین نسخه Node.js را با دستور زیر نصب کنید:

nvm install --lts
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر بیش از یک نسخه از Node.js نصب شده اید ، می توانید به NVM بگویید که کدام نسخه را با دستور زیر استفاده کنید:

nvm use --lts
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

یا یک نسخه پیش فرض را برای NVM تعریف کنید تا هر زمان که یک ترمینال جدید را باز کنید ، استفاده کنید:

nvm alias default 
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون ، اگر دستور را اجرا کنید node -v، نسخه Node.js را که روی دستگاه خود نصب شده است مشاهده خواهید کرد.

2. نصب PNPM

توصیه می کنم استفاده از PNPM به عنوان یک مدیر بسته ، هرچه سریعتر و کارآمدتر از NPM و نخ است. از آنجا که این موضوع از دامنه این مقاله دور است ، من در مورد PNPM به جزئیات نمی پردازم ، اما می توانید در اسناد رسمی اطلاعات بیشتری در مورد آن بخوانید.

در مورد MACOS ، می توانید PNPM را با Homebrew نصب کنید ، که یک مدیر بسته برای MACOS با دستور زیر است:

brew install pnpm
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر از سیستم عامل دیگری استفاده می کنید یا نمی خواهید از Homebrew استفاده کنید ، می توانید به مستندات نصب PNPM نگاهی بیندازید تا تمام گزینه های نصب را ببینید.

شما همچنین باید تنظیم PNPM را با دستور زیر انجام دهید:

pnpm setup
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. نصب Nestjs CLI

Nestjs CLI ابزاری برای خط فرمان است که ایجاد و مدیریت پروژه را در این زمینه تسهیل می کند. با استفاده از آن ، می توانید پروژه های جدیدی ایجاد کنید ، از جمله سایر ویژگی ها ، قطعات تولید کنید ، آزمایشات اجرا کنید. اکنون که Node.js و PNPM را نصب کرده اید ، می توانید Nestjs را با دستور زیر کلیک کنید:

pnpm add -g @nestjs/cli
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شما باید نتیجه زیر را داشته باشید:

نصب Nestjs CL در سطح جهان با PNPM

می توانید بررسی کنید که آیا Nestjs CLI به درستی نصب شده است که دستور زیر را اجرا می کند:

nest --version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر همه چیز درست است ، نسخه Nestjs CLI را که روی دستگاه خود نصب شده است ، مشاهده خواهید کرد.

4. VSCODE و پسوند

اگر مانند من ، شما طرفدار کد Visual Studio هستید ، توصیه می کنم پسوند های زیر را برای تسهیل توسعه با Nestjs نصب کنید:

  • از بین بردن: پسوند برای کد JavaScript و TypeScript.
  • زیبای: پسوند برای قالب بندی کد.
  • مشتری استراحت: پسوند برای درخواست HTTP به طور مستقیم از VScode.

اولین برنامه خود را با Nestjs ایجاد کنید

اکنون که Nestjs CLI را نصب کرده اید ، بیایید اولین برنامه خود را با Nestjs ایجاد کنیم. برای این کار ، دستور زیر را اجرا کنید:

nest new nome-do-seu-projeto
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در مورد من ، من یک پروژه به نام ایجاد خواهم کرد nestjs-auth:

nest new nestjs-auth
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Nestjs CLI می پرسد از کدام مدیر بسته می خواهید استفاده کنید. PNPM را انتخاب کرده و Enter را فشار دهید.
ایجاد پروژه

در پایان فرآیند ، که با PNPM بسیار سریع است ، پیامی را مشاهده خواهید کرد که می گوید این پروژه با موفقیت ایجاد شده است:

پروژه با موفقیت ایجاد شده است

پس از ایجاد پروژه ، وارد پوشه پروژه شوید:

cd nestjs-auth
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در ویرایشگر کد مورد علاقه خود باز کنید. من از کد Visual Studio استفاده خواهم کرد.

پروژه کد استودیو ویژوال

ساختار پروژه

ساختار پروژه ایجاد شده توسط Nestjs CLI به شرح زیر است:

nestjs-auth/
├── node_modules/
├── src/
│   ├── app.controller.spec.ts
│   ├── app.controller.ts
│   ├── app.module.ts
│   ├── app.service.ts
│   ├── main.ts
├── test/
├── .gitignore
├── .prettierrc
├── eslint.config.mjs
├── nest-cli.json
├── package.json
├── pnpm-lock.yaml
├── README.md
├── tsconfig.build.json
├── tsconfig.json
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • src/: کد منبع برنامه کجاست:

    • app.controller.spec.ts: فایل آزمایش کنترل کننده ریشه برنامه. وی مسئول آزمایش کنترلر است.
    • app.controller.ts: کنترل کننده ریشه برنامه. وی مسئول برخورد با درخواست های HTTP و بازگشت پاسخ ها است.
    • app.module.ts: ماژول ریشه برنامه. این مسئول واردات و پیکربندی سایر ماژول ها ، کنترلرها و خدمات کاربردی است.
    • app.service.ts: سرویس ریشه برنامه. وی مسئول مهار منطق تجارت برنامه است.
    • main.ts: نقطه برنامه کاربردی. این مسئول شروع سرور و بارگذاری ماژول ریشه برنامه با استفاده از NestFactoryبشر
  • test/: تست های برنامه ، متمرکز بر ادغام و تست های E2E هستند.
  • .gitignore: پرونده پیکربندی GIT. این شامل پرونده ها و پوشه هایی است که باید توسط GIT نادیده گرفته شوند.
  • .prettierrc: فایل پیکربندی زیباتر. این شامل قوانین قالب بندی کد است و ممکن است JSON یا YAML باشد.
  • eslint.config.mjs: فایل پیکربندی ESLINT. این شامل قوانین خط کد کد است.
  • nest-cli.json: پرونده پیکربندی NESTJS CLI. این شامل تنظیمات پروژه ، مانند دایرکتوری خروجی فایل کامپایل شده است.
  • package.json: پرونده پیکربندی پروژه. این شامل پروژه ها ، اسکریپت ها و تنظیمات پروژه است.
  • pnpm-lock.yaml: پرونده قفل PNPM. این شامل نسخه های دقیق امکانات نصب شده در پروژه است و اطمینان حاصل می کند که همه توسعه دهندگان از همان نسخه ها استفاده می کنند.
  • README.md: پرونده مستندات پروژه. این شامل اطلاعات پروژه ، نحوه نصب ، اجرای و مشارکت است.
  • tsconfig.build.json: این پرونده گسترش می دهد tsconfig.json و شامل تنظیمات خاص پروژه (ساخت) پروژه است. با این کار ، برخی از تنظیمات tsconfig.json را برای ساخت پروژه اضافه یا پیشی می گیرد
  • tsconfig.json: پرونده پیکربندی Typescript. این شامل تنظیمات کامپایلر TypeScript ، مانند دایرکتوری خروجی فایل کامپایل شده و گزینه های تلفیقی است.

انجام برنامه

Nest CLI پروژه را با a ایجاد می کند AppController که وظیفه برخورد با درخواست های HTTP در مسیر ریشه را بر عهده دارد /بشر او روش را فراخوانی می کند getHello() خدمت AppService:

کنترل کننده ایجاد شده توسط Nestjs CLI

ای AppService یک روش دارد getHello() که یک رشته را برمی گرداند "Hello World!" که توسط AppController:

خدمات ایجاد شده توسط Nestjs CLI

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

pnpm run start
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خوب ، برنامه باید در پورت 3000 اجرا شود. می توانید از طریق http: // localhost: 3000 به برنامه خود در مرورگر خود دسترسی پیدا کنید یا از آن استفاده کنید مشتری استراحت vscode برای ایجاد درخواست دریافت مسیر ریشه /بشر برای این کار یک فایل ایجاد کنید api.http در ریشه پروژه با محتوای زیر:

GET http://localhost:3000/
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

و روی دکمه کلیک کنید Send Request که بالای درخواست ظاهر می شود. شما باید نتیجه زیر را ببینید:

نتیجه نیاز به دریافت در مسیر ریشه

مراحل بعدی

اکنون که اولین برنامه خود را در حال اجرا هستید ، می توانید بررسی مفاهیم و ویژگی های اصلی Nestjs را شروع کنید. به یاد داشته باشید که پروژه خود را به مخزن از راه دور مانند Github یا GitLab ارسال کنید.

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

پایان

در این مقاله ، شما آموخته اید که Nestjs چیست ، چرا از آن استفاده کنید و چگونه اولین برنامه خود را ایجاد کنید. ما همچنین ساختار پروژه ایجاد شده توسط Nestjs CLI و نحوه اجرای برنامه را دیدیم. امروز عادلانه است ، اما نگران نباشید ، ما هنوز خیلی دیرتر هستیم!

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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