npm چیست و چگونه به توسعه‌دهندگان کمک می‌کند؟

Node Package Manager یا NPM چیست؟

آنچه در مقاله می‌خوانید

در این صفحه، می‌خواهیم بررسی کنیم که npm چیست و چه کاربردهایی دارد؟

همه‌ی توسعه‌دهندگان نرم‌افزار، نیاز دارند که از جدیدترین و بروزترین ابزارها و فناوری روز دنیا استفاده کنند. یکی از ابزارهای مهم و ضروری در این حوزه، NPM است که مخفف عبارت “Node Package Manager” و به معنی “مدیر پکیج گره” است. با استفاده از این ابزار، توسعه دهندگان جاوا اسکریپت، قابلیت پیداکردن و نصب آسان پکیج‌های کد در برنامه‌های شبکه و پروژه‌های سمت-سرور “server-side” را دارند.

هر پکیج node.js، شامل یک دایرکتوری با یک یا چند ماژول یا کتابخانه‌ی جاوا اسکریپت است که از آن برای افزودن ویژگی‌های مختلف به برنامه‌ها یا اسکریپت‌ها استفاده می‌شود. توسعه‌دهندگان و برنامه‌نویسان بدون در اختیار داشتن این پکیج‌ها، باید برای هر فانکشنی که پروژه‌شان نیاز دارد، یک کد جدید را از ابتدا بنویسند.

در این مقاله، ابتدا توضیح می‌دهیم که npm چیست و در ادامه، به شما می‌گوییم که چطور یک پروژه را با آن شروع کرده و پکیج‌های اضافی را نصب کنید. با ما همراه باشید.

Npm چیست؟

Npm چیست؟

با اینکه واژه‌ی Npm مخفف عبارات زیادی است، اما در اینجا، منظور ما از آن، همان “مدیر پکیج نود” است. این ابزار، یک مدیر پکیج برای پروژه‌های Node.js است و استفاده از آن برای عمومی در دسترس است. کاربرد npm این است که به توسعه‌دهندگان و برنامه‌نویسان کمک می‌کند تا از کدهای نوشته شده توسط دیگران استفاده کرده و حجم و ساعت کاری خود را کمتر کنند.

به پروژه‌هایی که در رجیستری npm قرار دارند، “پکیج” گفته می‌شود. لازم به ذکر است که در رجیستری npm بیش از 1.3 میلیون پکیج وجود دارد که این پکیج‌ها، توسط بیش از 11 میلیون توسعه‌‎دهنده در سراسر جهان مورد استفاده قرار گرفته‌اند.

 

Node.JS چیست؟

Npm چیست؟

Node.js یا نود جی اس یک ران تایم (runtime) است که به شما اجازه‌ی اجرای کدهای جاوا اسکریپت در بک‌اند (backend یا همان لایه‌ی داده‌ی یک اپلیکیشن) را می‌دهد. محیط رانتایم نیز مانند یک سیستم‌عامل کوچک عمل کرده و تمام فانکشن‌های موردنیاز برای اجرای یک برنامه را در اختیار شما قرار می‌دهد. قبل از ورود Node به صحنه، کدهای جاوا اسکریپت فقط در مرورگر وب کار می‌کردند؛ زیرا مرورگرهای وب دارای موتوری هستند که می‌تواند جاوا اسکریپت را به کدی که ماشین آن را درک می‌کند، ترجمه کنند. بک‌اند فاقد این موتور است.

در اینجا بود که Node.js وارد صحنه شد و به عنوان یک موتور جاوا اسکریپت، کد‌ها را ترجمه کرد و اجازه‌ی اجرای این کد‌ها بر روی یک ماشین فیزیکی را داد.

اما سوالی که شاید تا اینجا برایتان پیش آمده‌باشد این است که اصلاً Node.js چه ارتباطی با دستورات NPM دارد؟ به طور کلی، npm تمام پکیج‌های مورد استفاده‌ی شما را ردیابی می‌کند. برای فهم بهتر ارتباط این دو، باید با نحوه‌ی کار npm آشنا شویم…

 

نحوه کار npm به چه صورت است؟

npm چیست

به طور کلی، npm سه نقش تعیین‌کننده دارد که عبارتنداز:

  • مخزن (Repository): npm یک مخزن پرکاربرد برای منتشرکردن پروژه‌های Node منبع‌باز است که توسعه‌دهندگان با استفاده از آن می‌توانند کد منبع خود را با سایر کاربران npm به اشتراک بگذارند و با آن‌ها تعامل داشته‌باشند. برخی از پکیج‌هایی ضروری و پرکاربردی که می‌توانید از یک مخزن npm دانلود کنید عبارتنداز jQuery، React و Angular.
  • رابط خط فرمان (CLI): توسعه‌دهندگان و برنامه‌نویسان می‌توانند برای نصب یا حذف پکیج‌ها و مدیریت نسخه‌ها یا وابستگی‌ها، رابط خط فرمان npm را از یک ترمینال یا ابزار خط فرمان اجرا کنند.
  • رجیستری (Registry): هر بسته یا ماژولی که از طریق رابط خط فرمان npm نصب می‌شود را می‌توان از رجیستری عمومی npm یا همان پایگاه‌داده‌ی نرم‌افزار جاوا اسکریپت دانلود کرد.

 

Package.json چیست؟

پکیج npm چیست

هر پروژه‌ی npm حاوی یک فایل Package.json است. Package.json فایلی است که در دایرکتوری ریشه قرار دارد و شامل ابر داده‌ی پروژه‌ها یا بسته‌های npm (مانند نسخه‌های پکیج و مشارکت‌کننده‌ها) است. با استفاده از این فایل، عملیاتی مانند مدیریت، شناسایی و نصب پکیج‌ها راحت‌تر می‌شود. به همین دلیل است که قبل از انتشار پروژه‌ها در رجیستری npm، باید Package.json را قرار دهید.

در این قسمت، می‌خواهیم نمونه‌ای از محتوای فایل Package.json را به شما نشان دهیم (قسمت هایلایت، شکل درست تایپ دستور در ترمینال را نشان می‌دهد):

Plain text

Copy to clipboard

Open code in new window

EnlighterJS 3 Syntax Highlighter

{

"name":  "hostinger-npm",

"version":  "1.0.0",

"description":  "npm guide for beginner",

"main":  "beginner-npm.js",

"scripts":  {

"test":  "echo \"Error: no test specified\" && exit 1"

},

"dependencies":  {

"express":  "^4.17.1"

},

"repository":  {

"type":  "git",

"url":  "https: //github.com/hostinger/example.git"

},

"keywords":  [

"npm",

"example",

"basic"

],

"author":  "Hostinger International",

"license":  "MIT",

}

{ "name": "hostinger-npm", "version": "1.0.0", "description": "npm guide for beginner", "main": "beginner-npm.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "express": "^4.17.1" }, "repository": { "type": "git", "url": "https: //github.com/hostinger/example.git" }, "keywords": [ "npm", "example", "basic" ], "author": "Hostinger International", "license": "MIT", }

{

  "name": "hostinger-npm",

  "version": "1.0.0",

  "description": "npm guide for beginner",

  "main": "beginner-npm.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "dependencies": {

    "express": "^4.17.1"

  },

  "repository": {

    "type": "git",

    "url": "https: //github.com/hostinger/example.git"

  },

  "keywords": [

    "npm",

    "example",

    "basic"

  ],

  "author": "Hostinger International",

  "license": "MIT",

}

برای اینکه package.json را بهتر درک کنید، بیایید مهم‌ترین خطوط مثال قبلی را با یکدیگر مرور کنیم. این خطوط عبارتند ‎از:

Plain text

Copy to clipboard

Open code in new window

EnlighterJS 3 Syntax Highlighter

"name":  "hostinger-npm",

"name": "hostinger-npm",

در خطوط بالا، نام پکیج مشخص می‌شود. تعداد این خطوط باید کمتر از 214 کاراکتر باشد و تمام کاراکترها باید فقط از حروف کوچک تشکیل شده‌باشند. در صورتی که می‌خواهید یک ابزار را در رجیستری npm منتشر کنید، نام آن ابزار باید با پکیج‌های موجود در رجیستری، متفاوت باشد.

خطوط بعدی مثال بالا را با همدیگر مرور می‌کنیم:

"version": "1.0.0",

"version": "1.0.0",

Version در اینجا، نسخه‌ی فعلی پروژه‌ی شما را مشخص می‌کند و باید آن را طبق قوانین نسخه‌سازی وارد کنید.

"description": "npm guide for beginner",

"description": "npm guide for beginner",

خطوط بالا، اطلاعات پکیج را در خط توضیحات قرار می‌دهد. اطلاعاتی که در این قسمت وارد می‌کنید، به کاربران کمک می‌کند تا پروژه‌ی شما را در رجیستری npm پیدا کنند.

"main": "beginner-npm.js",

"main": "beginner-npm.js",

فیلد main در خط بالا، نقطه‌ی ورودی یا همان فایل اصلی پروژه‌ی شما را مشخص می‌کند. در صورتی که این قسمت را خالی بگذارید، npm به صورت خودکار آن را با “index.js” پر می‌کند.

"scripts": { "test": "echo \"Error: no test specified\" && exit 1" },

"scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

},

ویژگی scripts تمام دستوراتی که وظایف پروژه‌ی شما را اجرا می‌کنند را نشان می‌دهد. کاربران npm از این فیلد برای ارسال آرگومان‌ها به رابط خط فرمان استفاده می‌کنند تا نیاز به تایپ مجدد این آرگومان‌ها را از بین ببرند.

"dependencies": { "express": "^4.16.4" },

"dependencies": {

  "express": "^4.16.4"

},

فیلد dependencies تمام وابستگی‌ها یا بسته‌های مورد‎نیاز برای پروژه را به صورت فهرست نشان می‌دهد. زمانی که با استفاده از دستور npm install یک ابزار را نصب می‌کنید، آن پروژه به صورت خودکار در این قسمت نوشته می‌شود.

"repository": { "type": "git", "url": "https: //github.com/hostinger/example.git" },

"repository": {

  "type": "git",

  "url": "https: //github.com/hostinger/example.git"

},

Repository حاوی آدرس URL کد منبع است. در این مثال، ما گیت هاب (GitHub) را به عنوان مکان پکیج و Git را به عنوان سیستم کنترل ورژن معرفی کردیم.

"keywords": [ "npm", "example", "basic" ],

"keywords": [

  "npm",

  "example",

  "basic"

],

فیلد keywords شامل مجموعه‌ای از کلمات کلیدی است که همگی مرتبط با کاری هستند که پکیج انجام می‌دهد و به کاربران npm کمک می‌کنند تا پکیج‌ها را راحت‌تر جستجو کنند. در صورتی که قصد انتشار پروژه در رجیستری npm را ندارید، این قسمت را حذف کنید.

"author": "Hostinger International",

"author": "Hostinger International",

از فیلد author می‌توانید برای بیان ویژگی‌های سازنده‌ی پروژه استفاده کنید.

"license": "MIT",

"license": "MIT",

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

در صورتی که می‌خواهید با سایر فیلد‌های package.json آشنا شوید، توصیه می‌کنیم به مستندات رسمی package.json مراجعه کنید.

 

Dependencies و DevDependencies

Dependencies و DevDependencies در npm چیست

Dependencies و devDependencies دو فیلد مهم در در package.json هستند که تمام پکیج‌هایی را که یک پروژه به آن‌ها وابسته است را به صورت فهرست به کاربران نشان می‌دهند. فیلد Dependencies شامل تمام پکیج‌های third-party است که برای کارکرد پروژه لازم دارید.

از آن طرف، devDependency را داریم که حاوی پکیج‌هایی است که فقط در صورتی که قصد توسعه را دارید، به آن‌ها نیاز خواهید داشت. شما می‌توانید Dependencies و devDependencies را از اجرای طریق دستورات زیر در خط فرمان، نصب کنید:

npm install

npm install command with the

--save

--save and

--save-dev

--save-dev flags.

 

رابط خط فرمان npm (CLI)

رابط خط فرمان npm چیست

پس از نصب npm، از رابط خط فرمان یا همان CLI برای اجرای دستورات مختلف مانند بررسی نسخه‌ی npm، حذف و نصب پکیج‌ها، اجرای اسکریپت پکیج‌ها، ایجاد فایل‌های package.json و بسیاری موارد دیگر استفاده می‌شود.

در رایانه‌هایی که سیستم‌‎عامل ویندوز دارند، رابط خط فرمان را با نام Command Prompt می‌شناسند. در کامپیوتر‌های مک نیز این رابط با نام ترمینال (terminal) شناخته می‌شود.

دستورات ضروری npm

در این قسمت، به معرفی متداول‌ترین دستورات NPM و کارهایی که انجام می‌دهند، خواهیم پرداخت.

npm install

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

در صورتی که یک پکیج را به صورت محلی نصب کنید، فقط می‌توانید آن را در دایرکتوری‌ای که در آن نصب شده‌است، استفاده کنید. در نتیجه، هیچ پوشه یا فایلی در رایانه‌تان نمی‌تواند از آن پکیج استفاده کند.

npm uninstall

از این دستور برای حذف پکیج استفاده می‌شود.

npm init

برای مقداردهی اولیه‌ی یک پروژه از دستور npm init استفاده می‌شود. پس از اجرای این دستور، یک فایل package.json تولید می‌شود. زمانی که دستور npm init را اجرا می‌کنید، از شما خواسته می‌شود که اطلاعات خاصی درباره‌ی پروژه‌ای که در حال تنظیم آن هستید، مانند نام پروژه، نوع مجوز، نسخه و غیره را تکمیل کنید. در صورتی که نمی‌خواهید این اطلاعات را وارد کنید، باید دستور npm init -y را اجرا کنید.

npm update

با استفاده از دستور npm update می‌توانید یک پکیج npm را به‌روزرسانی کرده و آخرین نسخه‌ی موجود آن را در اختیار داشته باشید.

npm restart

از npm restart برای متوقف‌کردن و راه‌اندازی مجدد یک پکیج استفاده می‌شود.

npm start

در صورتی که لازم‌است کار با یک پکیج را شروع کنید، می‌توانید از دستور npm start استفاده کنید.

npm stop

از این دستور برای جلوگیری از اجرای یک پکیج استفاده می‌شود.

npm version

دستور npm version نسخه‌ی فعلی npm‌ای که بر روی رایانه‌ی شما نصب شده ‎است را نشان می‌دهد.

npm publish

اگر می‌خواهید یک پکیج شخصی npm را در رجیستری npm منتشر‎کنید، می‌توانید از دستور npm publish استفاده کنید.

 

Npm install یا npm ci؟

برای نصب پکیج‌های فهرست شده در فایل package.json دو گزینه پیش‎روی‌تان دارید که یکی npm install و دیگری npm ci است. در ادامه، درباره‌ی این دو روش نصب توضیح می‌دهیم:

NPM install

از این دستور، برای نصب وابستگی‌های موردنیاز استفاده می‌شود. با استفاده از دستور NPM install شما می‌توانید پکیج‌ها را نصب کرده و آن‌ها را بر اساس رنج نسخه‌ی مشخص‌شده‌ای که در فایل package.json قراردارد، به‌روزرسانی کنید. معمولاً توسعه‌دهندگان زمانی که می‌خواهند مطمئن شوند که از آخرین نسخه‌های سازگار وابستگی‌ها استفاده می‌شود، دستور NPM install را اجرا می‌کنند.

NPM ci

Ci مخفف عبارت “Continuous Integration” و به معنی “ادغام مداوم” است. از این دستور برای محیط‌های خودکار مانند سرورهای ساخت (build servers) نظیر سرور مجازی لینوکس استفاده می‌شود. این دستور با نادیده‌گرفتن رنج نسخه‌ها و نصب همان نسخه‌هایی که در فایل package-lock.json ثبت شده‌اند، نصب راحت و قابل تکرار را فراهم کرده و به جلوگیری از ناهماهنگی بین محیط‌های مختلف کمک می‌کند.

نصب npm

روش نصب npm چیست

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

با نصب Node.js، عملیات نصب npm به صورت خودکار انجام می‌شود و نیازی به نصب جداگانه ندارید.

پکیج‌های npm

پکیج npm چیست

در این بخش، ابتدا یک توضیح مختصر درباره‌ی پکیج‌های npm را با هم می‌خوانیم و سپس، درباره‌ی نحوه‌ی نصب و حذف پکیج‌های npm به صورت سراسری و محلی و همچنین موارد پرکاربردی نظیر به‌روزرسانی، لیست‌کردن، تغییر مکان و جستجوی پکیج‌های نصب‌شده، صحبت می‌کنیم.

پکیج در npm چیست؟

پکیج، یک پروژه‌ی از پیش ساخته‌شده است که قبلاً فردی آن را در دایرکتوری npm منتشر کرده‌است. هر پکیج، مجموعه‌ای از کارهای مختلف را انجام می‌دهد و نحوه‌ی عملکرد آن به موارد مختلفی مانند هدف ساخت، سازنده و مشارکت‌کنندگان آن بستگی دارد.

با کمک دستورات NPM می‌توانیم به پکیج‌ها و پروژه‌های مختلفی که توسط توسعه‌دهندگان دیگر ساخته و منتشر شده‌اند، دسترسی داشته باشیم و با استفاده از آن‌ها، حجم کاری پروژه‌ی خودمان را کمتر کنیم. به طور مثال، اگر می‌خواستید خودتان از اول یک چارچوب CSS را ایجاد کنید، باید زمان، انرژی و هزینه‌های زیادی صرف می‌کردید. در عوض، شما می‌توانید از پروژه‌های ایجاد شده توسط توسعه‌دهندگان دیگر که در رجیستری NPM قرار دارند استفاده کرده و روند توسعه‌ی خود را سریع‌تر کنید.

یکی از نمونه‌های این پکیج‌ها، Tailwind CSS است که یک فریم‎ورک css برای ساخت صفحات وب به شمار می‌رود. برخی از محبوب‌ترین پکیج‌های دیگر npm عبارتند‎از Gulp، React، Chalk، Express، Vue.js و غیره.

نحوه‌ی نصب پکیج npm به طور سراسری (Globally)

پس از نصب پکیج به صورت سراسری، می‌توانید از هر دایرکتوری در رایانه‌تان به آن پکیج دسترسی داشته باشید. در این ‌بخش، با اجرای دستورات NPM زیر در ترمینال، می‌توانید آن را به صورت سراسری نصب کنید:

npm install -g [package name]

در قسمت package name باید نام پکیج مورد‎نظرتان را وارد کنید. توجه داشته باشید که پرچم -g در دستور بالا، همان چیزی است که رابط کاربری npm را قادر می‌سازد تا پکیج را به صورت سراسری نصب کند.

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

npm install -g typescript

پس از اتمام نصب، می‌توانید typescript را در تمام دایرکتوری‌ها استفاده کنید.

نحوه‌ی نصب پکیج به صورت محلی (Locally)

نصب پکیج به صورت محلی به این معنی است که از آن پکیج، فقط می‌توانید در دایرکتوری فعلی استفاده کنید. برای انجام این کار، پس از ورود به دایرکتوری مورد‎نظر، دستور زیر را در ترمینال اجرا کنید:

npm install [package name]

به عنوان مثال، با اجرای دستور زیر، پکیج typescript به صورت محلی نصب می‌شود:

npm install typescript

حذف پکیج سراسری

در صورتی که دیگر به یک پکیج سراسری نیازی ندارید، می‌توانید با استفاده از دستور زیر، آن را حذف کنید:

npm uninstall -g [package name]

به عنوان مثال، به اجرای دستور زیر در ترمینال، پکیج TypeScript که به صورت سراسری نصب شده‎است، از رایانه‌ی شما حذف می‌شود.

npm uninstall -g typescript

حذف پکیج محلی

حذف پکیجی که به صورت محلی نصب شده ‎است، تقریبا مشابه حذف پکیج سراسری است؛ با این تفاوت که دیگر از پرچم -g استفاده نمی‌کنید:

npm uninstall [package name]

بروزرسانی npm و پکیج ها

بهترین کار برای در امان ماندن از اشکالات و نقص‌های امنیتی، بروزرسانی npm و پکیج‌های آن است. برای بروزرسانی npm به آخرین نسخه، دستور زیر را در ترمینال اجرا کنید:

npm install npm@latest - g

دستور بالا، npm را به صورت سراسری در رایانه‌ی شما بروز می‌کند.

توسعه‎دهندگان و سازندگان، پس از اضافه‎کردن ویژگی‌های جدید و یا رفع باگ‌های قبلی یک پکیج، آن را در رجیستری npm بروز می‌کنند. در نتیجه، اگر از پکیجی که به تازگی بروزرسانی شده‎است، استفاده می‌کنید، برای اینکه بتوانید ویژگی‌های جدید آن را به پکیج قبلی‎تان اضافه کنید، باید آن را بروزرسانی کنید. برای انجام این کار، دستورات NPM زیر را در ترمینال اجرا کنید:

npm update [package name]

به عنوان مثال، با اجرای دستور زیر، پکیج typescript به جدیدترین نسخه بروزرسانی می‌شود:

npm update typescript

اگر می‌خواهید پکیج را در سطح سراسری بروزرسانی کنید، باید پرچم -g را به کد بالا اضافه کنید:

npm update -g typescript

نحوه‌ی تغییر مکان پکیج‌های npm

کاربرانی که بر روی رایانه‌ی خود مجوز‌های مدیریتی را ندارند، ممکن ‎است پس از اجرای دستورات NPM با یک خطا روبرو شوند. برای رفع چنین مشکلی، فقط کافی‎است محل نصب پیشفرض پکیج‌ها را به یک محل دیگر تغییر دهید. برای انجام این کار، می‌توانید از دستور زیر استفاده کنید:

npm config set prefix [new directory path]

پس از مشخص‎کردن یک مکان جدید برای نصب پکیج‌ها، تمام پکیج‌های npm به طور پیشفرض در مکان جدید ذخیره می‌شوند.

فهرست‌بندی پکیج‌های npm نصب‎شده در سطح سراسری

با وارد‎کردن دستور زیر در ترمینال، تمام پکیج‌های نصب‎شده در سطح سراسری روی دستگاه شما، به صورت یک فهرست نمایش داده می‌شوند:

npm list -g

در‌ بخش بعدی، نحوه‌ی لیست‎کردن پکیج‌های npm‌ای که به صورت محلی نصب شده‌اند را می‌بینیم…

فهرست‌بندی پکیج‌های npm نصب‎شده در سطح محلی

برای اینکه لیست پکیج‌هایی که به صورت محلی نصب شده‌اند را ببینید، فقط کافی است دستور زیر را در ترمینال رایانه‌تان اجرا کنید:

npm list

توجه داشته باشید که دستور بالا را باید در دایرکتوری پروژه‎تان اجرا کنید تا بتوانید تمام پکیج‌های نصب‎شده برای آن پروژه‌ی خاص را مشاهده کنید.

جستجوی پکیج‌های npm

در حال حاضر، بیش از 1.3 میلیون پکیج در رجیستری npm وجود دارد که هر کدام از این پکیج‎ها، دارای فانکشن‌های منحصر‎به‎فرد خود هستند و طیف وسیعی از نیاز‌ها و اهداف را دنبال می‌کنند. برای استفاده‌ی برخی از این پکیج‌ها، باید با استک‌های توسعه‌ی خاصی کار کنید. به عنوان مثال، React Router یک پکیج محبوب در React است که برای مسیریابی در React استفاده می‌شود.

سایر استک‌های فناوری، به پکیج‌های متفاوت و خاص خود نیاز دارند. برای جستجوی پکیج‌های مورد‎نیازتان، می‌توانید به وبسایت npm مراجعه کرده و عملکرد‌ها، دستورالعمل‌های نصب و جزئیات ویژگی هر کدام را مشاهده کنید.

توصیه‌ی ما به شما این است که از بین گزینه‌های موجود، آن‌هایی که به طور منظم و در فواصل زمانی مشخص توسط توسعه‎دهندگان در حال آزمایش، تعمیر و بهبود هستند را انتخاب کنید.

 

فایل‌ها و فولدرهای دیگر npm

فایلها و فولدرهای npm - npm چیست

حال که با پکیج‌های npm و نحوه‌ی استفاده از آن‌ها آشنا شدید، وقت آن رسیده که با برخی از فایل‌ها و فولدر‌هایی که با پروژه‌های مبتنی بر npm مرتبط‌اند نیز آشنا شوید.

فایل package.json

فایل package.json به توسعه‎دهندگان کمک می‌کند تا پکیج‌های نصب‎شده در یک پروژه را پیگیری کنند. در زمان ایجاد یک پروژه‌ی جدید، کار‎کردن با فایل package.json اهمیت زیادی دارد. این فایل می‌تواند اطلاعات مربوط به یک پروژه مانند نام پروژه، نسخه‌ی فعلی، اسکریپت‌ها، وابستگی‌ها و موارد دیگر را ذخیره کند.

با اجرای دستور npm init یا npm init -y و پر‎کردن تمام سوالاتی که سیستم در زمان ایجاد فایل از شما می‌پرسد، می‌توانید اطلاعات این فایل را تکمیل کنید. پس از اینکه فایل package.json تولید شد، تمام پکیج‌های نصب‎شده به همراه نام و نسخه، در فایل مربوطه ذخیره می‌شوند.

با کاربرد مهم دیگر فایل package.json در زمان کلون‎ کردن پروژه‌ها در گیت ‎هاب آشنا می‌شوید. زمانی که توسعه ‎دهندگان می‌خواهند پروژه‌شان را در یک مخزن گیت‎هاب push کنند، پوشه‌ی node_modules که حاوی پکیج‌ها و وابستگی‌های آن پروژه است را کنار می‌گذارند. برای ایجاد پوشه پس از شبیه‌سازی یک مخزن، باید دستور npm install را در ترمینال پروژه‌تان اجرا کنید. با انجام این کار، npm می‌تواند از فایل‌های package.json مخزن گیت ‎هاب عبور کرده و تمام پکیج‌های فهرست‎ شده در آن جا را نصب کند.

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

Dependencies در npm چیست؟

در ‌بخش‌‎های قبلی، به طور مختصر درباره‌ی این که npm چیست و Dependencyها در npm صحبت کرده بودیم. اما در اینجا می‌خواهیم با این مفهوم، بیشتر آشنا شویم.

زمانی که پکیج‌ها را نصب می‌کنیم، یک پوشه به نام node_modules ایجاد می‌شود که با استفاده از آن، می‌توانیم پوشه‌های دیگر را ببینیم. یعنی شما با این پوشه، به پوشه‌ها و زیرپوشه‌های هر پکیج دسترسی دارید. شاید تعجب کنید که چرا وقتی هنوز پوشه‌های دیگر را نصب نکرده‌اید، می‌توانید آن‌ها ببینید؟

جواب این است که در فایل package.json، پکیج‌ها تحت وابستگی‌ها (Dependencies) فهرست می‌شوند؛ زیرا شما به آن وابستگی‌ها نیاز دارید.

پوشه‌های اضافی‌ای که در node_modules ایجاد می‌شوند، پکیج‌های اضافی دیگری هستند که پکیج‌های نصب‌‎شده‌ی شما برای داشتن قابلیت‌های بهتر، به آن‌ها وابسته هستند. با نگاه کردن به فایل package.json یک پکیج نصب‌شده ، می‌توانید به راحتی وابستگی‌های آن پروژه را پیدا کنید.

اسکریپت‌ npm چیست؟

اسکریپت در npm چیست

اسکریپت‌های npm همان اسکپریت‌های سفارشی‌ای هستند که در فایل package.json برای خودکارسازی وظایف خاص، تعریف می‌شوند. این خودکار سازی‌‌ها می‌توانند شامل کارهای مختلفی مانند راه‌اندازی  مجدد سرور پس از تغییرات، کوچک‌تر کردن کد CSS، ساخت پروژه برای تولید و غیره باشد.

زمانی که یک فایل package.json را ایجاد می‌کنید، یک اسکریپت آزمایشی به صورت خودکار همراه با این فایل برایتان ایجاد می‌شود. شما می‌توانید از اسکریپت‌ها برای انجام کارهای مختلفی که کارتان را ساده‌تر می‌کند، استفاده کنید. به عنوان مثال، یکی از اسکریپت‌های محبوب npm run start در React است که سرور توسعه را در localhost: 3000 می‌چرخاند.

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

npm run [script-name]

 

اهمیت دانش کدنویسی در npm چیست؟

شاید از خودتان پرسیده‌اید که آیا پس از نصب npm، برای استفاده‌ی بهتر از آن حتما لازم است که یک متخصص برنامه‌نویسی باشم؟ پاسخ صحیح به این سوال هم بله است هم خیر!

با اینکه برای استفاده از کاربرد npm نیازی نیست در حد یک استاد برنامه‌نویسی باشید، اما داشتن درک پایه از مفاهیم کدنویسی می‌تواند به شما کمک کند تا بهتر بتوانید از npm برای پیشبرد اهداف پروژه‌تان استفاده کنید.

در ابتدا، npm برای جاوا اسکریپت ساخته شده بود. در نتیجه، داشتن یک درک اولیه از اصول زبان برنامه‎نویسی به شما کمک می‌کند تا در انتخاب درست پکیج‌ها و عیب‎یابی مشکلات، بهتر از فردی که هیچ دانشی در اینباره ندارد، عمل کنید و تصمیم‌های آگاهانه تری بگیرید.

علاوه‌‎بر‎این، همانطور که می‌دانید، npm فقط به پروژه‌های جاوا اسکریپت محدود نیست و توسعه‌دهندگانی که با زبان‌های دیگر برنامه‌‎نویسی کار می‌کنند نیز می‌توانند از آن به راحتی استفاده کنند. به طور مثال، توسعه‌‎دهندگان پایتون از npm برای مدیریت وابستگی‌های پروژه‌ی خود استفاده می‌کنند و با کمک آن، گردش کارشان را افزایش می‌دهند. npm در پروژه‌های HTML و CSS نیز برای مدیریت کتابخانه‌ها و ابزار‌های فرانت‌اند استفاده می‌شود.

با این اوصاف، داشتن درک اولیه از مفاهیم برنامه‌نویسی می‌تواند به درک بهتر هدف و عملکرد پکیج‌هایی که در پروژه ادغام می‌شوند، کمک کند. با استفاده از این درک، شما می‌توانید پایگاه کد خود را متناسب با نیاز‌های منحصر‎به‌‎فرد پروژه‌تان تنظیم کرده و انتخاب‌های بهتری داشته باشید.

 

جمع‌بندی

در این مقاله، به اینکه npm چیست و چه کاربردهایی دارد آشنا شدیم و راه‌های نصب و استفاده از آن را یاد گرفتیم. در طی چند سال اخیر، npm توانسته به عنوان یک ابزار ضروری برای توسعه‌ی برنامه‌های کاربردی مبتنی بر Node.js تبدیل شود. این ابزار به توسعه‌‎دهندگان و برنامه‌‎نویسان کمک می‌کند تا به میلیون‌ها پروژه‌ی رایگان و منبع‎باز دسترسی داشته‎‌باشند و از آن‌ها برای پیشبرد پروژه‌های خود استفاده کنند.

پکیج‌های مختلف و متنوعی از npm در چارچوب CSS، bundler‌های فایل، چارچوب‌های جاوا اسکریپت، ابزار‌های پشتیبان و موارد دیگر وجود دارد که توسعه‌‎دهندگان می‌توانند بسیاری از آن‌ها را نگهداری و حتی بروزرسانی کنند.

با کمک ابزار npm، توسعه‌ی برنامه‌های وب راحت‌تر از گذشته شده‌‎است و دیگر نیازی به انجام کارهای زمان‎‌بر و تکراری نیست. تنها کاری که باید انجام دهید این است که پکیج یک توسعه‎‌دهنده‌ی دیگر را نصب کرده تا در زمان برنامه‎‌نویسی خود صرفه‌‎جویی کنید. علاوه‌‎بر‎این، می‌توانید خودتان پکیج‌های npm را بسازید و آن‌ها را در رجیستری npm به اشتراک بگذارید تا سایر توسعه‎‌دهندگان بتوانند از آن استفاده کنند. بدین صورت، علاوه بر مشارکت و کمک به توسعه‌ی هر چه بیشتر این ابزار، یک رزومه‌ی قوی برایتان ثبت می‌شود.

4/5 - (1 امتیاز)
دیدن نظرات
small

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

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

3 + 4 =

عضویت در خبرنامه مبین هاست
مطالب کدام دسته‌بندی‌ها برای شما جذاب‌تر است؟

آنچه در مقاله می‌خوانید

مقالات مرتبط
فریمورک Django
آموزش برنامه نویسی

همه چیز درباره فریمورک Django و نحوه استفاده از آن

فریم ورک Django یک ابزار متن‌باز بر پایه زبان برنامه‌نویسی پایتون است که از آن برای ساخت انواع وب‌سایت‌ها و پلتفرم‌های پیچیده استفاده می‌شود. این

خدمات مبین هاست