راه‌هایی برای افزایش بهره‌وری در NPM

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 21 اردیبهشت 1398
دسته بندی ها : جاوا اسکریپت

پکیج منیجر نود که به صورت مختصر 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

منبع

مقالات پیشنهادی

چگونه رنک الکسای سایتمان را افزایش دهیم

الکسا سرویسی است که ترافیک سایت ها را با استفاده از الگوریتم ها و ابزارهای خودش بررسی و ارزش گذاری می کند. سپس یک رنکینگ از سایت های سراسر اینترنت تهی...

افزایش سرعت وبسایت با استفاده از HTTP/2

HTTP/2 راهی جدید برای سریع‌تر کردن میزان زمان بارگذاری وبسایت با حذف کردن برخی از ویژگی‌های ناکارآمد در HTTP است. پیاده‌سازی HTTP/2 کار سختی نیست و نی...

چگونه این محصولات بهره‌وری‌تان را افزایش می‌دهد

احتمالا از کار طراحی وب‌تان لذت ببرید. همچنین ممکن است در زمینه کاری‌تان به موفقیت های زیادی دست پیدا کرده باشید. اما با این وجود باز هم ممکن است برخی...

6 راه ساده برای افزایش سرعت برنامه React Native

قبلا درباره بهبود کارایی برنامه با هک کردن Event loop صحبت کرده ام. هدف رسیدن به 60 فریم بر ثانیه است. تمام این ها در مورد React یا React Native هم صد...