تسلط بر پیوند NPM: ساده سازی مدیریت وابستگی محلی

توسط برونو سارتوری
هنگام ایجاد بسته های NPM، در نهایت باید بسته خود را با نصب آن در پروژه NodeJS دیگری اشکال زدایی کنید تا ببینید بسته شما چگونه به عنوان یک وابستگی رفتار می کند. خوب، شما می توانید این کار را با انتشار بسته NPM خود و نصب مجدد آن به عنوان یک وابستگی در پروژه خود هر بار یا کپی کردن بسته خود در پروژه خود انجام دهید. node_modules
اما… این دست کم دردسرساز خواهد بود 😅. اینجاست که npm link
وارد بازی می شود.
NPM Link چه کاری انجام می دهد؟
npm link
برای ایجاد یک پیوند نمادین بین کتابخانه استفاده می شود دور دایرکتوری و برنامه کاربردی node_modules
دایرکتوری و آن را به برنامه اضافه کنید package.json
فایل به عنوان وابستگی به این ترتیب می توانید از پروژه محلی خود به عنوان وابستگی به پروژه دیگری بدون نیاز به انتشار آن یا کپی دستی آن در پروژه خود استفاده کنید. node_modules
.
بسته خود را برای پیوند تنظیم کنید
قبل از پیوند بسته خود به عنوان یک وابستگی با استفاده از npm link
، مطمئن شوید که آن را پیکربندی کرده اید main
و files
خواص در شما package.json
فایل و اینکه شما پروژه خود را ساخته اید.
{
...
"main": "dist/index.js",
"files": ["dist"],
...
}
برای اطلاعات بیشتر در مورد نحوه درست ایجاد و راه اندازی بسته NPM، می توانید مقاله من را بخوانید نحوه ایجاد و انتشار یک بسته NPM بدون محدوده و محدوده با Typescript.
با استفاده از NPM Link
برای پیوند یک بسته با npm link
شما به سادگی باید این دو مرحله را دنبال کنید:
- به دایرکتوری ریشه بسته بروید تا توسط پروژه دیگری پیوند داده شود (بسته ای که توسط پروژه دیگری به عنوان وابستگی استفاده می شود) و تایپ کنید
npm link
. - به دایرکتوری ریشه پروژه بروید که از بسته شما به عنوان وابستگی و نوع استفاده می کند
npm link [your-package-name]
و همین است، واقعاً همین است. پس از آن می توانید وابستگی خود را در حین اجرای پروژه اصلی خود ویرایش و ایجاد کنید و به طور خودکار به روز می شود تا بتوانید موارد را به درستی اشکال زدایی کنید. بیایید ببینیم که این با یک مثال واقعی با استفاده از بسته من کار می کند وب لاگر.
مثال دنیای واقعی
من دو دایرکتوری ایجاد کرده ام، یکی با بسته NPM خود به نام weeb-logger که ابزاری است که اطلاعات گزارش را مستقیماً در برنامه نمایش می دهد تا بتوانم لاگ های برنامه ها را بدون نیاز به باز کردن DevTools ببینم. این می تواند برای اشکال زدایی مفید باشد و دیگری با یک برنامه react ایجاد شده با create-react-app
.
سپس به پروژه weeb-logger که به عنوان یک وابستگی استفاده می شود می روم و انجام می دهم npm link
.
و سپس در پروژه test-react-application تایپ می کنم npm link @bsartori/weeb-logger
که نام بسته من با محدوده سازمانی است.
همانطور که می بینید، در ساختار دایرکتوری من قبلاً داریم @bsartori/weeb-logger
داخل node_modules
پوشه توجه داشته باشید که نماد پوشه نشان می دهد که این پوشه یک پیوند نمادین است.
سپس، در من test-react-application
پروژه، من وابستگی خود را با استفاده از import logger from '@bsartori/weeb-logger';
. توجه داشته باشید که وقتی ماوس خود را روی نام وابستگی قرار می دهید، می توانید نام مسیر اصلی آن را ببینید:
پس از وارد کردن وابستگی من، فقط تنظیماتی را انجام می دهم که وابستگی به آن نیاز دارد و تابع ورود به سیستم را فراخوانی می کنم.
در نهایت فایل را ذخیره کنید و نتایج را در مرورگر خود مشاهده کنید.
نتیجه گیری
در خاتمه، npm link
یک ابزار قدرتمند و راحت برای توسعه محلی بسته های NPM است. این امکان را به شما می دهد تا فرآیند تست و اشکال زدایی را بدون نیاز به انتشار مداوم یا کپی بسته خود در پروژه ساده کنید. node_modules
. با ایجاد یک سیم لینک، به راحتی می توانید بسته خود را در زمان واقعی به روز رسانی و آزمایش کنید و توسعه را کارآمدتر کنید. چه در حال کار بر روی ابزارهای کوچک یا کتابخانه های بزرگتر باشید npm link
در گردش کار شما می تواند در زمان و تلاش صرفه جویی کند و امکان ادغام نرم تر بین پروژه ها را فراهم کند.
مقالات دیگر من را بررسی کنید
اگر این راهنما را دوست داشتید، ممکن است از برخی از پست های دیگر من لذت ببرید که در آن نکات و ترفندهای بیشتری را برای توسعه دهندگان به اشتراک می گذارم:
-
استفاده از هاسکی برای جلوگیری از Fارتقای نسخه معنایی
نگاهی به این که چگونه هاسکی می تواند شما را از سردردهای نسخه برداری نجات دهد و گردش کار شما را روان نگه دارد. -
راهنمای عملی نسخهسازی معنایی: چگونه و چه زمانی نسخههای خود را بهروزرسانی کنیم
نکات سریع در مورد اینکه چه زمانی باید نسخه های خود را افزایش دهید و چگونه از اشتباهات رایج جلوگیری کنید. -
چگونه مخازن GitHub خود را در لینکدین برجسته کنید
یک راهنمای ساده برای نشان دادن کار GitHub خود در لینکدین.