afsaneh alizadeh
afsaneh alizadeh
خواندن ۵ دقیقه·۵ سال پیش

NPM

Npm

با سلام و عرض ادب خدمت تمامی دوستان عزیزم

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

NPM

یک کتابخانه‌ی بزرگ است که یک نصاب و Package Manager به حساب می‌آید.این کتابخانه Open source و رایگان می‌باشد.

NPM : node packet manager

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

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

از مزایای استفاده از Package Managerها این است که نیازی نیست به فکر اضافه کردن فایل‌های جانبی و وابسته به کتابخانه‌ی اصلی باشیم. این ابزار قادر است این کتابخانه‌ها را دانلود و نصب نماید.

نصب npm

برای نصب این ابزار محبوب به نصب Node.js نیاز دارید. یعنی  شما باید از طریق آدرس https://nodejs.org/en ابتدا node.js را نصب کنید تا npm همراه آن نصب شود.بعد از نصب node.js‌ برای اطمینان از نصب npm کافیست cmd ویندوز را باز کنید و دستور npm --v را تایپ کنید تا ورژن آن نمایش داده شود.

1. Npm init :

میاد براتون فایل packet.json یا به قولی Repositiry میسازه

کار packet.json چیه ؟

یک لیستی از پکیچ های مورد نیاز پروژه رو در خودش ذخیره میکنه

که شامل Version , Name

حالا به چه درد میخوره؟؟؟

وقتی بخوایم پروژه رو در اختیار کسی قرار بدیم فایل ها حجم بالایی دارن برای همون پکیچ هارو براش نمیفرستیم و فقط کافیه package.json براش بفرستیم و اون کافیه در CMD بیاد دستور

Npm install

بزنه تمام پکیچ ها براش نصب میشه .

حالا اگر بخوایم پکیج ها سراسری نصب بشه روی سیستممون باید از دستور

Npm install type script --g

استفاده کنیم .

میدونید اگر پکیج ها به صورت سراسری نصب بشن به چه معنیه؟؟

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

دستور update

Npm Update --g

از این دستور برای آپدیت کردن ورژن های پکیج و همچنین اگر تغییری که خودمون توی package.json داده باشیم میتونیم از این دستور استفاده کنیم و تغییرات مورد نظرمون رو اعمال کنیم .

دستور list

ما میتوانیم npm install کنیم یا به صورت global از دستور npm install global پکیج های مورد نظرمون رو روی پروژه نصب کنیم .

اگر به صورت global نصب کنیم و بخوایم بدونیم فایل های پروژه کجاست (شاید نیاز به تغییر در package.json باشه ) و بخواهیم فایل ها رو بدونیم کجاست از دستور

Npm list --g

استفاده میکنیم

این دستور در cmd بصورت درخت اطلاعات براتون نمایش میدهد

در خط اول آدرس پکیج های global و در ساختار درختی هم پکیج ها ، نام ،ورژن رو نمایش میدهد.

حذف :

Npm uninstall <XX>

Npm uninstall <XX> --save --dd

Npm --g uninstall <XX> --save

داخل package.json علاوه بر اینکه نام و ورژن و.... 7 تا آپشن که هنگام ساخت package.json بهش میدیم .Dependencies , dev dependencies داریم هنگامی که توی دستورات comment line به طور مثال

Npm install <XX>

رو میزنیم

در آخر دستورات --save رابزنیم یعنی برو توی package.json در قسمت dependencies ذخیره کن .

اگر save --dev-- برو در قسمت devdependencies در package.json اون فایل هارو اضافه کن .

و در آخر save --optional-- از وابستگی های اختیاری حذف میشود .

بعنی ما زمانیکه package رو install میکنیم اگر دستورsave-- optional-- رو بزنیم در package.json میاد یه قسمتی به اسم optionalDependencies میسازه.که اونجا فایل هایی که به صورت optional تعریف کردیم ذخیره میکنه . و در صورت حذف اون فایل ها باید از دستور save --optional-- استفاده کرد .

در npm دستوری به اسم config وجود دارد .

Config

1. Set

2. Get

3. List

4. Delete

5. edit

npmangularfrontend
شاید از این پست‌ها خوشتان بیاید