دیگر نگران پکیج منیجر پروژه NodeJS خود نباشید

از فناوریهای دیگری مانند Go، Clojure و Java، گاهی اوقات از تعداد جایگزینهایی که به طور گسترده در جهان NodeJS استفاده میشوند، کمی عصبانی میشوم. برای این پست خاص من با مدیران بسته ها تصویر می کنم … خدای من … npm است ، نخ است ، pnpm است.
به نظر می رسد که هر روز یک مورد جدید وجود دارد.
(باشه… زیاد نیست، اما می خواهم درام بسازم تا پست را توجیه کنم)
اما ساختن یک میکاولپا در اینجا، شاید این مشکل من بیشتر از خود فناوری باشد، زیرا حتی امروز حافظه ماهیچهای من در ترمینال نوع میشود. lein lint:fix
بجای yarn lint:fix
یا هر دستور دیگری که واقعا برای پروژه های Node کار می کند.
(برای کسانی که متوجه نمی شوند، lein از Leiningen است، ژنراتور بسته ای که من با Clojure کار می کردم)
اما مشکلات من تمام شده است. این روزها با مرور برخی از شبکههای اجتماعی، توجه من را جلب کرد ni
. اما نی چه خواهد بود؟ یک مولد بسته جدید؟ خیر، اما به مشکلات من در مورد پروژه های مختلف با مدیران مختلف پایان می دهد.
استفاده از Ni آنقدر ساده است که نوشتن در مورد آن به متن زیادی نیز نیاز ندارد.
اساساً این ابزاری است که برای شما ساخته شده است که چندین پروژه دارد و در نهایت هر کدام با یک مدیر بسته. Ni به سادگی این را برای شما انتزاعی می کند و شما می توانید فقط در مورد یک الگوی واحد از دستورات نگران باشید.
Ni از پروژه هایی که استفاده می کنند پشتیبانی می کند npm
، yarn
،pnpm
ه bun
و فقط با یک مجموعه از دستورات می توانید با هر پروژه ای که از یکی از آنها استفاده می کند کار کنید.
به عنوان مثال: اگر من بخواهم یک بسته جدید به پروژه Node خود اضافه کنم، اما فقط در یک زمینه توسعه، برای هر یک از مولدهای بسته فوق، گزینه های زیر را خواهم داشت:
# npm i @types/node -D
# yarn add @types/node -D
# pnpm add -D @types/node
# bun add -d @types/node
اگر Ni بر روی دستگاه خود پیکربندی کرده اید، فقط دستور را اجرا کنید ni @types/node -D
و مشخص می کند که از کدام مدیر بسته استفاده می کنید و متوجه می شود که کدام یک از این دستورات باید در زیر هود اجرا شود.
فقط برای آن، Ni در حال حاضر برای من توجیه شده است، اما علاوه بر آن، همچنین یک CLI بسیار تعاملی است. وقتی میخواهم پروژهای را اجرا کنم که هنوز به خوبی نمیدانم چه چیزی برای من بسیار جالب است.
به عنوان مثال: برای اینکه من دستوری را اجرا کنم که در پروژه اسکریپت من پیکربندی شده است، فقط باید اجرا کنم nr
(ni run) و تمام دستورات اسکریپت موجود در package.json را در منوی قابل پیمایش برای کمک به اجرا فهرست می کند.
و در اینجا اگر شما را متقاعد نکردم، دیگر نمی دانم چگونه می توانم این کار را انجام دهم، اما اگر دوست داشتید، نصب آن نیز بسیار ساده است. فقط دستور را اجرا کنید
$ npm i -g @antfu/ni
و اگر می خواهید به نحوه ساخت پروژه نگاه کنید و حتی با پروژه همکاری کنید، Github یکی است.
npm i
در یک پروژه نخ، دوباره؟ F**k!
که در – از پکیج منیجر مناسب استفاده کنید
npm i -g @antfu/ni
npm · نخ · pnpm · نان
ni
– نصب
ni
# npm install
# yarn install
# pnpm install
# bun install
ni vite
# npm i vite
# yarn add vite
# pnpm add vite
# bun add vite
ni @types/node -D
# npm i @types/node -D
# yarn add @types/node -D
# pnpm add -D @types/node
# bun add -d @types/node
ni --frozen
# npm ci
# yarn install --frozen-lockfile (Yarn 1)
# yarn install --immutable (Yarn Berry)
# pnpm install --frozen-lockfile
# bun install --no-save
ni -g eslint
# npm i -g eslint
# yarn global add eslint (Yarn 1)
# pnpm add -g eslint
# bun add -g eslint
# this uses default agent, regardless your current working directory
nr
– اجرا کن
nr dev --port=3000
…
برای افرادی مثل من که در چندین جبهه کار می کنند – کار، داوطلبانه، اجتماع و غیره – داشتن ابزاری که به من در کارهای کوچک کمک می کند که نباید بیش از چند ثانیه طول بکشد، تفاوت زیادی ایجاد می کند و به همین دلیل است که من از پیشنهاد نی خوشم آمد. بسیار امیدوارم این پست به نحوی به شما کمک کند تا بهره وری بیشتری به دست آورید.