پکیج منیجر نود که به صورت مختصر NPM نام دارد به نظر میرسد که در تمام دنیای مدرن جاوااسکریپت جا خوش کرده و تقریبا تبدیل به ابزار کاری شده که تمام توسعهدهندگان جاوااسکریپت با آن سر و کار دارند. البته همواره مشکلات کوچکی نیز وجود دارد که توسعهدهندگان را گاهی اوقات کلافه میکند، اما در نهایت این مشکلات باعث نمیشوند که استفاده از آن غیر ممکن شود. با وجود داشتن ویژگیهای بسیار زیاد و سرعت عمل بالا، NPM هنوز هم ارزش بالایی دارد.
در این مطلب قصد داریم چند تکنیک کلی را با همدیگر بررسی کنیم که باعث میشوند تا کار با NPM با بهرهوری بیشتری پیش برود.
۱. خاموش کردن Progress bar
عملیاتهایی که NPM انجام میدهد، گاهی اوقات میتواند زمان زیادی را مصرف بکند، به همین دلیل در این مواقع یک Progress bar نمایش داده میشود. اما در حقیقت نمایش چنین چیزی نه تنها کمکی نمیکند، بلکه زمان انجام فرایند را نیز بیشتر میکند. خوشبختانه شما با یک تکنیک ساده میتوانید این نوار را غیر فعال بکنید. برای اینکار تنها لازم است که مقدار یک متغیر را برابر false نگه دارید:
tamhan@tamhan-thinkpad:~/nodespace/futurenpm$
npm set progress=false
tamhan@tamhan-thinkpad:~/nodespace/futurenpm$
npm get progress
false
۲. تنظیم پیشفرضها روی پکیجها
برای آنکه یک پروژه جدید را آغاز کنید و نیازی نداشته باشید که اطلاعات اولیه پروژه را به صورت تک به تک وارد نمایید، میتوانید به سادگی یک پارامتر –y را به npm init اضافه نمایید. این کار باعث میشود تا همه چیز به صورت پیشفرض جلو برود: -در ادامه در رابطه با تغییر این پیشفرضها نیز صحبت میشود-
tamhan@tamhan-thinkpad:~/nodespace/
fastnodetest$ npm init -y
۳. دستورات را تایپ نکنید
معمولا زمانی که میخواهید پکیجی را نصب بکنید فورا به سراغ کلمه کلیدی install میروید، اما باید بگویم که برای برخی از کلمات یکسری اختصارات وجود دارد. برای مثال بجای نوشتن کلمه install تنها میتوانید از یک i استفاده کنید. برای مثال:
npm i gulp-debug
۴. سراغ دستورات دیگر نیز بروید
همانطور که اشاره شد، install تنها دستوری نیست که میشود از حرف اختصار آن استفاده کرد. اگر مطابق تصویر زیر جلو بروید، متوجه خواهید شد که شکلهای کوتاه شده بسیار زیادی وجود دارد که میتوانید از هر کدام آنها نیز استفاده بکنید:
۵. دریافت لیست تمام پکیجها و تعقلات
درک این موضوع که کدام پکیجها به همدیگر مربوط هستند و در یک دایرکتوری خاص چه مواردی قرار گرفته و چه مواردی نه شاید کمی پیچیده باشد. اما npm این کار را برای ما سادهتر کرده است. npm ls راهی بسیار ساده برای دریافت این موارد و حتی sub-directoryهای آن است. با استفاده از پارامتر –depth نیز میتوانید عمق sub-dependencies را مشخص کنید.
tamhan@tamhan-thinkpad:~/nodespace/
fastifytest$ npm ls --depth=0
nodespace@1.0.0 /home/tamhan/nodespace
└── fastify@1.11.2
۶. تشخیص پکیجهای منقضی شده
امروزه وب اپلیکیشنها مدام در حال تهدید شدن هستند. اغلب آسیبپذیریهایی نیز که متوجه وبسایت یا اپلیکیشن میشود از طرف پکیجهایی است که منقضی شدهاند. برای اینکه بتوانید این پکیجها را تشخیص دهید، راهکار سادهای در NPM وجود دارد که بهتر است آن را به صورت مداوم بررسی کنید.
tamhan@tamhan-thinkpad:~/nodespace/
fastifytest$ npm outdated
Package Current Wanted Latest Location
fastify 1.11.2 1.13.3 1.13.3 nodespace
۷. یافتن منبع
بیشتر پکیجهای npm در یک مخزن گیتهاب زندگی میکنند. پیدا کردن آدرس این پکیجها میتواند بسیار کاربردی باشد، چرا که مستندات و مواردی از این دست را میتوانید در این آدرسها پیدا کنید. برای انجام چنین کاری تنها کافیست از دستور repo و نام پکیج استفاده کنید:
tamhan@tamhan-thinkpad:~/nodespace$ npm repo
fastify
۸. کاوش یک پکیج
فایل مانیفست پکیجها اطلاعات ارزشمندی را در خودشان قرار دادهاند. تنها با استفاده از حرف v و یا کلمه view میتوانید اطلاعات این مانیفست را به دست بیاورید. علاوه بر مانیفست، شما میتوانید اطلاعاتی در رابطه با نسخههای دیگر این پکیج بدست بیاورید:
tamhan@tamhan-thinkpad:~/nodespace$ npm view
jquery
۹. یافتن نسخههای مختلف
برای آنکه بتوانید اطلاعات کاملی در ارتباط با نسخههای دقیق هر یک از پکیجها را بدست آورید، میتوانید از دستور versions استفاده بکنید:
tamhan@tamhan-thinkpad:~/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' ]
tamhan@tamhan-thinkpad:~/nodespace$
۱۰. پیدا کردن پکیجها
گاهی اوقات ممکن است که نام یک پکیج را فراموش بکنید و یا تنها بخشی از آن را در یاد داشته باشید، در چنین حالتی میتوانید از دستور search استفاده کنید.
tamhan@tamhan-thinkpad:~/nodespace$ npm
search vue
۱۱. افزودن auto-completion
اگر میخواهید قابلیت auto-completion را به npm اضافه کنید، میتوانید با انجام تغییراتی در بش این کار را انجام دهید:
tamhan@tamhan-thinkpad:~/nodespace$ npm
completion >> ~/.bashrc
tamhan@tamhan-thinkpad:~/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 همواره آخرین نسخه یک پکیج را دریافت میکنید، اما اگر از عملگر @ بهره بگیرید، میتوانید نسخه خاصی را هدف قرار دهید.
tamhan@tamhan-thinkpad:~/nodespace$ npm i
vue@2.5.15
tamhan@tamhan-thinkpad:~/nodespace$ npm i
vue@beta
۱۵. لیست تمام تنظیمات
با استفاده از دستور run env میتوانید اطلاعات کاملی در ارتباط با تنظیماتی که از طریق یک سری متغیر محلی ایجاد کردهاید را دریافت نمایید.
tamhan@tamhan-thinkpad:~/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 به شما این قابلیت را میدهد تا بدون نصب کردن یک پکیج آن را اجرا کنید. این موضوع برای راهاندازی سریع و دستوراتی که ممکن است تنها یک بار در هر زمانی به آن نیاز داشته باشید مناسب است.
tamhan@tamhan-thinkpad:~/nodespace$ npx
create-react-app my-app
در پایان
پکیج منیجر NPM کلیدیترین تکنولوژی نودجیاس برای کار با پکیجهای مختلف است. یادگیری کار با NPM به صورت تخصصی و کامل یک مزیت بسیار بزرگ برایتان به حساب میآید چرا که در فرایند ایجاد یک اپلیکیشن مدام باید آن را فراخوانی کنید. در نتیجه حتما یادگیری کامل آن را آغاز کنید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید