تبلیغات

npm چیست و چه ارتباطی با Node.js دارد؟

نوشته شده توسط هادی اکبرزاده

npm چیست و چه ارتباطی با Node.js دارد؟


NPM (ان پی ام) مخفف Node Package Manager و در واقع Package Manager ایست که برای Node.js نوشته شده است؛ ولی در خیلی از موارد دیگر نیز از آن استفاده می‌شود. برای دسترسی به npm باید از خط فرمان CMD در ویندوز و Terminal درلینوکس استفاده کرد

منظور از پکیج، ماژول‌ها یا کتابخانه و یا فریم‌ورک هاییست که در این‌جا به زبان JavaScript نوشته شده‌اند و البته در پلت‌فرم‌های دیگر به زبان‌های دیگر! حالا منظور از مدیریت پکیج این است که مثلا شما قصد دارید تا از جی‌کوئری، express یا socket.io که قبلا نوشته شده‌اند استفاده کنید. بدین منظور با نوشتن یک کد ساده در npm، پکیج‌هایی که می‌خواهید در پروژه استفاده کنید را از ایترنت و از مخزن npm دریافت کرده و درون پروژه‌ی خود قرار می‌دهید. و خب البته چندین دستور دیگر نیز برای مدیریت این پکیج‌ها در اختیار ما قرار گرفته است که در آینده با آن‌ها آشنا خواهیم شد.

نصب npm

نیازی نیست تا npm را به صورت جدا نصب کنید! چرا که به هنگام نصب Node.js، به صورت خودکار npm نیز به همراه آن نصب می‌شود.
بنابراین برای نصب npm، پست “آموزش نصب و راه اندازی Node.js و ساخت یک پروژه در Node.js” را مطالعه کنید.

بعد از این‌که node.js را نصب کردید، وارد CMD شده و دستور زیر را بنویسید:

در صورتی که عملیات نصب به درستی انجام گرفته باشد، ورژن npm مثل “5.6.0” نمایش داده می‌شود.

مقداردهی اولیه

وقتی با استفاده از CMD در مسیر پروژه‌ی Node.js خود قرار دارید، اولین کاری که بهتر است انجام دهید این است که دستور زیر را قبل از هرچیزی درون CMD بنویسد:

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

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


ویژگی dependencies

این ویژگی، بعد از مقداردهی اولیه، درون package.json وجود ندارد! اما بهتر است که شما آن را به صورت دستی ایجاد کنید. در حقیقت در این ویژگی، وابستگی‌های پروژه‌ی شما قرار می‌گیرند؛ یعنی هر پکیجی که پروژه‌ی شما به آن نیاز دارد! اما چه کابردی دارد؟ در ادامه خواهیم گفت.

برای مثال:

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

نصب پکیج

NPM می‌تواند پکیج‌ها را هم به صورت Local، یعنی داخل پروژه و هم به صورت Global نصب کند که در حالت Global پکیج‌ها در جایی عمومی از سیسیتم عاملتان نصب می‌شوند تا در هنگام استفاده از آن‌ها در پروژه‌های دیگر، نیازی به دریافت دوباره‌ی آن‌ها نباشد. ولی اگر به صورت local نصب شوند، درون پروژه یک پوشه به نام node_modules ساحته خواهد شد که پکیج‌ها درون آن قرار می‌گیرند.

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

وقتی این دستور را بنوسید، مواردی که در dependencies ذکر شده اند، نصب خواهند شد. حالا کاربرد dependencies کمی مشخص‌تر شد.


دستور بالا می‌تواند شامل ورودی و تنظیماتی نیز باشد که آن‌ها را شرح می‌دهیم.
همانطور که می‌بینید، در دستور بالا، dependencies ها نصب می‌شوند؛ اما ما می‌توانیم به صورت مستقیم، نام پکیج را به صورت زیر ذکر کنیم:

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

  • دستور بالا نیز آخرین ورژن پکیج وارد شده را دریافت می‌کند و می‌توانید با نوشتن یک @ بعد از نام پکیج و سپس نوشتن ورژن آن، اقدام به دریافت ورژن مورد نظر خود کنید.
  • اگر در انتهای دستور نصب، عبارت–save را نیز اضافه کنید، آن پکیج، به dependencies اضافه خواهد شد ولی اگر عبارت –no-save را اضافه کنید، به صورت موقت نصب خواهد شد.
  • اگر در انتهای دستور نصب، عبارت -g را نیز اضافه کنید، به صورت Global نصب خواهد شد و در غیر این صورت، به صورت Local نصب می‌شود.
تبلیغات
0
کانال تلگرام فول کده

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

هادی اکبرزاده

[ مدیر فول کده ]

آن‌گاه که هرچیزی را به یک چشم دیدیم، حقیقت برایمان نابود می‌شود! باید توجه کنیم که خدا به ما دو چشم داده است!
Telegram

پاسخ دهید

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

نظرات ثبت شده بدون دیدگاه