اگرشما تا بهحال از نود جی اس استفاده کرده باشید، پس قطعاً باید با NPM هم کار کرده باشید.
(NPM (node package manager یک dependency package manager است، که هنگام نصب نود جی اس، به اصطلاح با آن میتوانید از جعبه خارج شوید.npm راهی است برای توسعهدهندگان تا بتوانند هم پکیج محلی(locally) و هم پکیج همگانی(globally) را نصب و استفاده کنند.
بعضیاوقات ممکن است بخواهید، نگاهی به یک پکیج خاص بیندازید و بعضی از دستورات آن را امتحان کنید،اما شما بدون نصب dependency های آن در پوشه node_modules ، نمیتوانید این کار را انجام دهید.و اینجا، جایی است که npx به میدان میآید!
در این مقاله،ما قصد داریم نگاهی به تفاوت بین npm و npx بیندازیم و یادبگیریم که چگونه از هر دوی آنها بهترین نتیجه را بگیریم.
در قدم اول، اجازه دهید تا بفهمیم npm چیست و با آن چه میتوان کرد؟
پکیج منیجر نود یا NPM
NPM از موارد مختلفی تشکیل شده، که اولین و مهمترین آن، یک repository (مخزن)آنلاین برای انتشار پروژههای اپنسورس نودجیاس است.
دومین مورد ، npm یک ابزار (CLI ( command-line-interface است، که به شما کمک میکند بستههایی را که میخواهید ، نصب کنید و ورژن و dependency های آنرا مدیریت کنید.صدها هزار کتابخانه و برنامه نودجیاس، در npmوجود دارد، و هر روزه، تعداد زیاد دیگری نیز به آن اضافه میشود.
Npm به خودی خود هیچ پکیجی را اجرا نمیکند، اگر میخواهید با استفاده از npm پکیجی را اجرا کنید، باید آن پکیج را در فایل package.json خود مشخص کنید.
مسیر پکیجهای نصب شده توسط npm :
- پکیجهای محلی(locally) در دایرکتوری ./node_modules/.bin/ ایجاد میشوند.
- پکیجهای همگانی(globally) در دایرکتوری bin/ ایجاد میشوند ـ (به طورمثال در لینوکس در مسیر /usr/local/bin و در ویندوز در مسیر %AppData%/npm قرار دارند.)
برای اجرای یک پکیج با npm باید در مسیر محلی(local) آنرا تایپ کنید، مانند این:
$ ./node_modules/.bin/your-package
یا میتوانید با اضافه کردن بستهی محلی نصب شده به package.json در بخشscript آنرا اجرا کنید، مثل این:
{
"name": "your-application",
"version": "1.0.0",
"scripts": {
"your-package": "your-package"
}
}
سپس میتوانید اسکریپت را با استفاده از دستور npm run اجرا کنید.
npm run your-package
میبینید که اجرای یک پکیج باnpm نیاز به مراسم کاملاً خاصی دارد!
خوشبختانه، اینجا، جایی است که npx به کارتان میآید.
(Npx (package runner
از نسخه 5.2.0 npx ،npm به همراه npm عرضه شد. بنابراین،امروزه تقریباً یک استاندارد است.
Npm همچنین یک ابزار CLI هم هست،که هدف آن نصب و مدیریت آسانdependency های موجود در ریجیستری npm است. و اکنون، اجرای هر نوع پکیج مبتنی بر Node.js که معمولاً با npm نصب میکردید، بسیار آسانتر شده است.
دستور زیر را اجرا کنید، تا متوجه شوید که آیا npx از قبل برای شما روی ورژن جاری npm نصب شده یا نه.
$ which npx
اگر نصب نشده بود،به این روش میتوانید آن را نصب کنید:
$ npm install -g npx
حالا که مطمئن شدید آنرا نصب کردهاید، بگذارید تا چند مورد از موارد استفاده npx که بسیار مفید است را شرح دهم.
بهسادگی یک پکیج محلی نصب شده را اجرا کنید
اگر میخواهید یک پکیج نصب شده محلی را اجرا کنید، تمام کاری که باید انجام دهید،تایپ این دستور است.
$ npx your-package
npx بررسی خواهد کرد که آیا <command> یا <package> در این PATH$ یا در باینریهای پروژهی local وجود دارد یا نه، اگر وجود داشت آن را اجرا میکند.
پکیجهایی که قبلاً نصب نکردهایدرا اجرا کنید!
یکی دیگر از مزیتهای اصلی npx ،امکان اجرای پکیجهایی است که قبلاً نصب نشدهاند.
بعضی اوقات، شما فقط میخواهید از برخی ابزارهای CLI استفاده کنید، اما نمیخواهید آنها را به صورت globally نصب کنید، تا تنها آنها را آزمایش کنید.این بدان معناست که میتوانید فضای هارد خود را ذخیره کنید و فقط در صورت نیاز آنها را اجرا کنید. همچنین متغییرهای global شما نیز کمتر آلوده میشوند!
کد را مستقیماً از GitHub اجرا کنید
این یکی خیلی جذابه!!
شما میتوانید از npx برای اجرای هر gist یا repository گیتهاب استفاده کنید.
بیایید روی اجرای یک GitHub gist تمرکز کنیم، چراکه ایجاد کردن یکی از آنها بسیار ساده است.
ابتداییترین اسکریپت، شامل فایل main js و package.json است.بعد از تنظیم این فایلها،تمام کاری که باید انجام دهید، این است که npx را توسط یک لینک به آن gist ،به همان صورت که در تصویر بالا نمایش دادیم متصل کرده و آن را اجرا کنید.
اینجا میتوانید کدی که برای این مثال استفاده کردهام را مشاهده کنید.
قبل از اجرای هر اسکریپت، حتماً آن را بخوانید تا از بروز مشکلات جدی، که به دلیل کدهای مخرب ممکن است رخ دهد، جلوگیری کنید.
ورژنهای مختلف پکیج را تست کنید!
Npx تست ورژنهای مختلف پکیج و ماژولهای node.js را بسیار آسان میکند. برای آزمایش این ویژگی فوقالعاده، قصد داریم پکیج create-react-app را به صورت locally نصب کنیم و نسخه آینده آن را تست کنیم.
این دستور، dist-tag ها را برای شما در خروجی نمایش میدهد. Dist-tag ها ، alias (نام مستعار) را برای شماره های ورژن ها ارائه میدهد، که تایپ آن را بسیار سادهتر میکند.
$ npm v create-react-app
بیایید از npx برای امتحان کردن next dist-tag، به وسیلهی creat-reat-app که برنامه را درون یک sandbox directory ، ایجاد میکند، استفاده کنیم.
$ npx create-react-app@next sandbox
npx، ورژن بعدی creat-reat-app را نصب خواهد کرد و سپس آنرا برای scaffold (به معنی داربست است، اما در اینجا به معنای چارچوبی است که به سرعت برای یک برنامه تنظیم میشود - چارچوب)، برنامه اجرا خواهد کرد، و dependency های آن را نیز نصب میکند.
بعد از نصب میتوانیم به صورت زیر به برنامه برویم:
$ cd sandbox
و سپس با این دستور آن را اجرا میکنیم:
$ npm start
این به صورت خودکار اپ ریاکت شما را، در مرورگر پیشفرض سیستم شما باز خواهد کرد.
و حالا، برنامهای داریم که روی ورژن بعدی پکیج create-react-app اجرا میشود! صفحهindex برنامه ریاکت شما، باید اینگونه باشد.
نتیجه
npx به شما کمک میکند تا از ورژنسازی ، مشکلات dependency ها و نصب پکیجهای غیرضروری، که فقط میخواهیم آنها را امتحان کنیم، جلوگیری کنیم.
همچنین روش واضح و آسانی برای اجرای پکیجها، ماژولها و حتی GitHUB gist و repository ها(مخازن) است.
پس اگر قبلاً از npx استفاده نکردهاید، اکنون زمان مناسبی برای شروع است!
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید