پکیج منیجر نود که به صورت مختصر NPM نام دارد به نظر میرسد که در تمام دنیای مدرن جاوااسکریپت جا خوش کرده و تقریبا تبدیل به ابزار کاری شده که تمام توسعهدهندگان جاوااسکریپت با آن سر و کار دارند. البته همواره مشکلات کوچکی نیز وجود دارد که توسعهدهندگان را گاهی اوقات کلافه میکند، اما در نهایت این مشکلات باعث نمیشوند که استفاده از آن غیر ممکن شود. با وجود داشتن ویژگیهای بسیار زیاد و سرعت عمل بالا، NPM هنوز هم ارزش بالایی دارد.
در این مطلب قصد داریم چند تکنیک کلی را با همدیگر بررسی کنیم که باعث میشوند تا کار با NPM با بهرهوری بیشتری پیش برود.
۱. خاموش کردن Progress bar
عملیاتهایی که NPM انجام میدهد، گاهی اوقات میتواند زمان زیادی را مصرف بکند، به همین دلیل در این مواقع یک Progress bar نمایش داده میشود. اما در حقیقت نمایش چنین چیزی نه تنها کمکی نمیکند، بلکه زمان انجام فرایند را نیز بیشتر میکند. خوشبختانه شما با یک تکنیک ساده میتوانید این نوار را غیر فعال بکنید. برای اینکار تنها لازم است که مقدار یک متغیر را برابر false نگه دارید:
[email protected]:~/nodespace/futurenpm$
npm set progress=false
[email protected]:~/nodespace/futurenpm$
npm get progress
false
۲. تنظیم پیشفرضها روی پکیجها
برای آنکه یک پروژه جدید را آغاز کنید و نیازی نداشته باشید که اطلاعات اولیه پروژه را به صورت تک به تک وارد نمایید، میتوانید به سادگی یک پارامتر –y را به npm init اضافه نمایید. این کار باعث میشود تا همه چیز به صورت پیشفرض جلو برود: -در ادامه در رابطه با تغییر این پیشفرضها نیز صحبت میشود-
[email protected]:~/nodespace/
fastnodetest$ npm init -y
۳. دستورات را تایپ نکنید
معمولا زمانی که میخواهید پکیجی را نصب بکنید فورا به سراغ کلمه کلیدی install میروید، اما باید بگویم که برای برخی از کلمات یکسری اختصارات وجود دارد. برای مثال بجای نوشتن کلمه install تنها میتوانید از یک i استفاده کنید. برای مثال:
npm i gulp-debug
۴. سراغ دستورات دیگر نیز بروید
همانطور که اشاره شد، install تنها دستوری نیست که میشود از حرف اختصار آن استفاده کرد. اگر مطابق تصویر زیر جلو بروید، متوجه خواهید شد که شکلهای کوتاه شده بسیار زیادی وجود دارد که میتوانید از هر کدام آنها نیز استفاده بکنید:
۵. دریافت لیست تمام پکیجها و تعقلات
درک این موضوع که کدام پکیجها به همدیگر مربوط هستند و در یک دایرکتوری خاص چه مواردی قرار گرفته و چه مواردی نه شاید کمی پیچیده باشد. اما npm این کار را برای ما سادهتر کرده است. npm ls راهی بسیار ساده برای دریافت این موارد و حتی sub-directoryهای آن است. با استفاده از پارامتر –depth نیز میتوانید عمق sub-dependencies را مشخص کنید.
[email protected]:~/nodespace/
fastifytest$ npm ls --depth=0
[email protected] /home/tamhan/nodespace
└── [email protected]
۶. تشخیص پکیجهای منقضی شده
امروزه وب اپلیکیشنها مدام در حال تهدید شدن هستند. اغلب آسیبپذیریهایی نیز که متوجه وبسایت یا اپلیکیشن میشود از طرف پکیجهایی است که منقضی شدهاند. برای اینکه بتوانید این پکیجها را تشخیص دهید، راهکار سادهای در NPM وجود دارد که بهتر است آن را به صورت مداوم بررسی کنید.
[email protected]:~/nodespace/
fastifytest$ npm outdated
Package Current Wanted Latest Location
fastify 1.11.2 1.13.3 1.13.3 nodespace
۷. یافتن منبع
بیشتر پکیجهای npm در یک مخزن گیتهاب زندگی میکنند. پیدا کردن آدرس این پکیجها میتواند بسیار کاربردی باشد، چرا که مستندات و مواردی از این دست را میتوانید در این آدرسها پیدا کنید. برای انجام چنین کاری تنها کافیست از دستور repo و نام پکیج استفاده کنید:
[email protected]:~/nodespace$ npm repo
fastify
۸. کاوش یک پکیج
فایل مانیفست پکیجها اطلاعات ارزشمندی را در خودشان قرار دادهاند. تنها با استفاده از حرف v و یا کلمه view میتوانید اطلاعات این مانیفست را به دست بیاورید. علاوه بر مانیفست، شما میتوانید اطلاعاتی در رابطه با نسخههای دیگر این پکیج بدست بیاورید:
[email protected]:~/nodespace$ npm view
jquery
۹. یافتن نسخههای مختلف
برای آنکه بتوانید اطلاعات کاملی در ارتباط با نسخههای دقیق هر یک از پکیجها را بدست آورید، میتوانید از دستور versions استفاده بکنید:
[email protected]:~/nodespace$ npm v
jquery versions
[ '1.5.1',
'1.6.2',
. . .
'3.0.0-alpha1',
'3.0.0-beta1',
'3.0.0-rc1',
'3.0.0',
'3.1.0',
'3.1.1',
'3.2.0',
'3.2.1',
'3.3.0',
'3.3.1' ]
[email protected]:~/nodespace$
۱۰. پیدا کردن پکیجها
گاهی اوقات ممکن است که نام یک پکیج را فراموش بکنید و یا تنها بخشی از آن را در یاد داشته باشید، در چنین حالتی میتوانید از دستور search استفاده کنید.
[email protected]:~/nodespace$ npm
search vue
۱۱. افزودن auto-completion
اگر میخواهید قابلیت auto-completion را به npm اضافه کنید، میتوانید با انجام تغییراتی در بش این کار را انجام دهید:
[email protected]:~/nodespace$ npm
completion >> ~/.bashrc
[email protected]:~/nodespace$ source
~/.bashrc
۱۲. مهار کردن تنظیمات پیکربندی
برای آنکه بتوانید مقادیر پیشفرضی را روی اطلاعات npm init قرار دهید، کافیست از دستور config set استفاده نمایید. برای اینکار به صورت زیر عمل نمایید:
npm config set init.author.name <name>
npm config set init.author.email <email>
۱۳. لینک به پکیجهای محلی
برای برقرار کردن یک لینک به پکیجهای محلی از طریق پروژههای دیگر، کافیست به صورت زیر آنها را لینک کنید:
git clone <pkgurl>
cd <pkgname>
npm link
cd ../site
npm link <pkgname>
۱۴. دریافت یک نسخه خاص از پکیج
با استفاده از دستور npm install همواره آخرین نسخه یک پکیج را دریافت میکنید، اما اگر از عملگر @ بهره بگیرید، میتوانید نسخه خاصی را هدف قرار دهید.
[email protected]:~/nodespace$ npm i
[email protected]
[email protected]:~/nodespace$ npm i
[email protected]
۱۵. لیست تمام تنظیمات
با استفاده از دستور run env میتوانید اطلاعات کاملی در ارتباط با تنظیماتی که از طریق یک سری متغیر محلی ایجاد کردهاید را دریافت نمایید.
[email protected]:~/nodespace/nodetest2$
npm run env | grep npm_
۱۶. ایجاد یک متغیر سفارشی
Npm شما را با متغیرهایی که توسط سیستم ایجاد میشود محدود نمیکند. در زیر میتوانید حالتی را مشاهده کنید که یک متغیر به صورت مستقل ایجاد شده است:
"config": {
"build_folder":"./dist"
}
۱۷. مدیریت هوشمندانه نسخههای npm و nodejs
برخی از برنامهها براساس نسخههای منحصر به فردی از نودجیاس و یا پکیج منیجر آن کار میکنند. برای مدیریت چنین مشکلاتی میتوانید از مستندات Node Version Manager استفاده بکنید. برای شروع نیز میتوانید از یک اسکریپت ساده بهره ببرید.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
۱۸. اجرا بدون نصب
Npx یا Node package execute به شما این قابلیت را میدهد تا بدون نصب کردن یک پکیج آن را اجرا کنید. این موضوع برای راهاندازی سریع و دستوراتی که ممکن است تنها یک بار در هر زمانی به آن نیاز داشته باشید مناسب است.
[email protected]:~/nodespace$ npx
create-react-app my-app
دیدگاه و پرسش
برای ارسال دیدگاه لازم است وارد شده یا ثبتنام کنید
ورود یا ثبتنامدر حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید