خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چرا احتمالاً می خواهید از بیش از یک Node Package Manager استفاده کنید

در اینجا به همین دلیل است که چندین مدیر بسته گره ایده خوبی است.

یکی از بهترین ویژگی های Node مدیریت بسته ها است. راه های مختلفی برای نصب و مدیریت بسته های گره وجود دارد. در اینجا، ما به مزایا و معایب استفاده از یک Package Manager یا استفاده از بیش از یک Package Manager و برخی از بهترین راه‌ها برای استفاده از آن‌ها با هم نگاه خواهیم کرد.

از شما می‌پرسید مدیر بسته چیست؟ بخوانید تا متوجه شوید.

مدیران بسته چیست؟

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

برای مثال، اگر برنامه‌ای می‌نویسید که از جاوا اسکریپت استفاده می‌کند، و می‌خواهد به برخی از توابع از کتابخانه‌ای به نام jQuery (که زمانی بسیاری از وب‌سایت‌ها از آن استفاده می‌کردند) دسترسی داشته باشد، جی کوئری یکی از وابستگی‌های شما خواهد بود. شما باید آن را نصب کنید تا وقتی شخصی از سایت شما بازدید می کند، بتواند آن انیمیشن ها یا تعاملات جالبی که با آن ایجاد کرده اید را ببیند!

مدیران بسته به مدیریت این روابط بین پروژه‌ها با مدیریت وابستگی‌ها برای ما کمک می‌کنند، بنابراین هر بار که می‌خواهیم چیزی جدید اضافه یا به‌روزرسانی شود، نگران دانلود دستی آن‌ها نباشیم—آنها همچنین مطمئن می‌شوند که همه چیز به درستی با هم کار می‌کند و پس از نصب به‌خوبی اجرا می‌شود. (که گاهی گفتنش راحت تر از انجامش است).

Node با یک Package Manager به نام NPM از پیش بسته بندی می شود

آرم NPM

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

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

این بدان معناست که اگر چندین نسخه از چیزی مانند Express در هر زمان معینی روی سرور شما در حال اجرا باشد، NPM مطمئن خواهد شد که هر نمونه آنچه را که نیاز دارد بدون تضاد با نمونه‌های دیگری که کار مشابه انجام می‌دهند، دریافت می‌کند – و همه بدون نیاز به انجام کاری. فراتر از فراخوانی ساده ()require () روی یک شی در صورت نیاز!

مطلب مرتبط:   نحوه مدیریت نسخه های مختلف یونیتی با استفاده از یونیتی هاب

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

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

نخ و PNPM سریعتر از NPM هستند

آرم PNPM و Yarn

Yarn یک جایگزین امن و قابل اعتماد برای NPM است که از یک فایل قفل برای جلوگیری از بازنویسی تصادفی استفاده می کند و اطمینان می دهد که وابستگی های شما در هنگام نصب بسته ها به درستی حل می شوند.

همچنین زمان نصب سریع‌تری نسبت به NPM دارد، که به ویژه اگر با پروژه‌های بزرگی کار می‌کنید که دارای ماژول‌های زیادی با وابستگی‌های زیاد هستند، مفید است.

PNPM جایگزینی برای Yarn و NPM است، اما هنوز آنقدر محبوب نیست زیرا برخی از ویژگی‌های موجود در هیچکدام (مانند فایل‌های قفل) را ندارد. با این حال، توسعه دهندگان آن ادعا می کنند که PNPM می تواند بسته ها را تا چهار برابر سریعتر از Yarn یا NPM به دلیل ماهیت سبک خود نصب کند. این به معنای استفاده کمتر از فضای دیسک در رایانه شما نیز هست!

اگر در حال ساختن پروژه‌ای هستید که تنها به چند وابستگی نیاز دارد، احتمالاً Yarn یا NPM کافی خواهد بود. با این حال، اگر با پروژه های بزرگ با ماژول ها و وابستگی های زیاد کار می کنید، PNPM می تواند گزینه بهتری برای شما باشد.

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

یک مدیر بسته واحد تنها می تواند یک نسخه از هر کتابخانه را در یک زمان مدیریت کند. اگر می‌خواهید از دو نسخه متفاوت از یک کتابخانه برای پروژه‌های دیگر یا در محیط‌های مختلف (مثلاً تولید در مقابل توسعه) استفاده کنید، به دو بسته جداگانه روی سیستم خود نیاز دارید.

مقایسه بنچمارک مدیر بسته

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

مزیت دیگر این است که هنگام استفاده از چندین مدیر بسته، هر کدام مجموعه ای از ویژگی های منحصر به فرد خود را ارائه می دهند. برخی ممکن است سریعتر از دیگران باشند. برخی ممکن است قابلیت های مدیریت وابستگی بهتری داشته باشند. سایرین ممکن است برای توسعه برنامه ها در چارچوب های خاصی مانند ReactJS یا VueJS و غیره مناسب تر باشند.

مطلب مرتبط:   نحوه سفارشی کردن درخواست zsh در ترمینال macOS

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

از چندین مدیر بسته با نصب جهانی آنها استفاده کنید

Yarn Global Install از طریق NPM

با استفاده از خط فرمان، می توانید مشخص کنید که از کدام مدیر بسته برای یک پروژه خاص استفاده کنید. چندین مدیر بسته را در دستگاه خود تنظیم کنید:

  • NPM به همراه Node از پیش بسته بندی شده است. این به شما امکان می دهد بسته های دیگر (و مدیران بسته) را از خط فرمان نصب کنید و وابستگی ها را در تمام پروژه های خود با NPM مدیریت کنید. همچنین اگر می خواهید اسکریپت های NPM را در یک مرورگر اجرا کنید (به عنوان مثال، Webpack) مفید است، زیرا مرورگرها با NPM از پیش نصب شده ارائه نمی شوند!
  • Yarn را به صورت سراسری و با استفاده از NPM نصب کنید. این یکی دیگر از گزینه های محبوب برای مدیریت وابستگی ها در پروژه های جاوا اسکریپت است. نسبت به NPM مزایایی دارد که ممکن است آن را برای انواع خاصی از پروژه ها یا تیم ها ترجیح دهد
  • در نهایت PNPM را نصب کنید. این مدیر بسته یک انشعابی از NPM است که سریعتر و پایدارتر طراحی شده است. همچنین دارای برخی از ویژگی های اضافی است که ممکن است برای برخی از انواع پروژه ها مفید باشد، مانند پشتیبانی از وابستگی ها از GitHub.

توجه داشته باشید که نصب سراسری به این معنی است که بسته انتخابی برای کل سیستم شما در دسترس خواهد بود (شما می توانید از طریق خط فرمان در هر جایی به برنامه دسترسی داشته باشید)، در حالی که نصب محلی فقط توسط دایرکتوری فعلی قابل دسترسی است.

نمونه های واقعی از نحوه استفاده از چندین مدیر بسته

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

1. نخ و NPM را می توان با هم استفاده کرد (به عنوان مثال Create-React-app)

این زمانی مفید است که بخواهید از سرعت و کارایی Yarn استفاده کنید و در عین حال سازگاری با بسته های NPM را حفظ کنید. اگر به آخرین نسخه کتابخانه‌ای نیاز دارید که هنوز برای سازگاری با Yarn به‌روزرسانی نشده است، یا اگر دلیل دیگری وجود دارد که تیم شما ترجیح می‌دهد با وجود سرعت پایین‌تر یا مجموعه ویژگی‌های محدود، NPM را حفظ کند، این ممکن است برای شما خوب باشد. پروژه همچنین به جلوگیری از داشتن دو درخت وابستگی جداگانه در راه اندازی مخزن مونو کمک می کند!

مطلب مرتبط:   Next.js Data Management: ذخیره و واکشی داده های MongoDB با استفاده از Mongoose

2. استفاده از Yarn برای بسته های جهانی و PNPM برای نصب های محلی

در حالی که PNPM سریعترین مدیر بسته است، استفاده از آن برای بسته های نصب شده در سطح جهانی دشوار است. این به این دلیل است که از ساختار فایل متفاوتی استفاده می کند که می تواند باعث مشکلات سازگاری با برنامه هایی مانند Visual Studio Code شود. اینجاست که Yarn وارد می‌شود. می‌توانید از آن برای بسته‌های نصب شده در سطح جهانی و PNPM برای نصب‌های محلی استفاده کنید. این راه حل یک راه خوب برای به دست آوردن مزایای هر دو مدیر بسته بدون نیاز به تغییر بیش از حد گردش کار است. با این تنظیمات – اگر می خواهید وحشی شوید – می توانید NPM را به طور کامل از سیستم خود حذف کنید (اما داشتن NPM به عنوان پشتیبان همیشه خوب است).

3. استفاده از PNPM با NPM به عنوان یک بازگشت

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

استفاده از چندین مدیر بسته کارها را آسان‌تر می‌کند

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

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

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