120


'

همه چیز درباره ابزار npm


npm '



npm چیست؟

همانطور که می دانید در دنیای برنامه نویسی زبان ها و تکنولوژی های زیادی هستند که به کتابخانه ها و پکیج ها نیاز دارند و یا از آنها کمک می گیرند، این امر باعث شده تا هر زبان برنامه نویسی برای هر قسمت و یا کار کوچکی، تابع نداشته باشد و این باعث می شود تا سنگین نشود، علاوه بر این استفاده از ماژول ها باعث می شود تا یک زبان برنامه نویسی بتواند با عرضه ماژول های با کیفیت تر و بهتر، قدرت زبان خود را بالاتر ببرد و کدنویسان بیشتری را به خود جذب کند، مانند زبان برنامه نویسی پایتون که در ابتدا با استفاده از قدرت کتابخانه هایش به محبوبیت رسید.

کتابخانه ها کدهای آماده و از قبل نوشته شده ای هستند که مجموعه ای از توابع و اشیاء را برای یک یا چند کاربرد خاص در خود دارند و کمک می کنند تا با استفاده از آنها، قابلیت های جدیدی به زبان برنامه نویسی خود اضافه کنیم، برای مثال اگر یک کتابخانه درباره ریاضیات وجود داشته باشد، مثلاً می تواند توابعی برای پیدا کردن جذر یک عدد و یا تجزیه عدد به عامل های اوّل، داشته باشد.

این که یک زبان برنامه نویسی کتابخانه محور باشد، کمک می کند تا هر شخص یا هر گروهی بتواند کتابخانه خود را برای پیشرفت آن زبان منتشر کند و به نحوی همه را در کامل کردن زبان شرکت می دهد. node js نیز یک ران تایم به شدت کتابخانه محور است، به طوری که با node js تنها، نمی توانید از بسیاری از قابلیت ها و قدرت های این ران تایم، استفاده کنید. اینکه node js کتابخانه محور است، باعث شده تا ماژول ها و پکیج های زیادی برای آن منتشر شود و قابلیت های بسیار زیادی پیدا کند.

npm یک ابزار node js است که برای نصب و استفاده از ماژول های node js استفاده می شود. همانند پایتون که برای اینکار از pip استفاده می کند، node js نیز npm را ارائه کرده که مخفف کلمه node package manager است. npm که یک ابزار ترمینالی است، در محیط cmd و یا ترمینال لینوکس اجرا می شود و با نوشتن دستورات مخصوص آن، می توان از آن استفاده کرد.

npm معمولاً در هنگام نصب این برنامه، نصب می شود. این ابزار به کدنویس اجازه می دهد تا با اجرا کردن کدهای cmd، ماژول ها و پکیج های node js را نصب کند. برای اینکار تنها کافیست تا به پوشه پروژه مورد نظر رفته و درحالیکه کلید shift را گرفته اید، راست کلیک کرده و گزینه Open PowerShell windows here را بزنید. سپس در پنجره باز شده، دستورات npm را اجرا کنید.

دستور های npm

npm به عنوان یک ابزار کامل و پر کاربرد، دستورات بسیار زیاد و متنوعی دارد که کمک می کند تا از آن استفاده کنیم، اما برای این آموزش تنها یادگیری چندتا از آنها کافی است. اولین دستوری که با آن آشنا خواهیم شد، دستور init است. برای شروع نصب کردن ماژول ها نیاز داریم تا پروژه را پیکربندی کنیم، برای اینکار از دستور init استفاده می کنیم. برای نوشتن هر دستور npm باید در ابتدای دستور npm را بنویسیم و سپس با نوشتن یک فاصله، دستور را تایپ کنیم. پس از اجرای دستور init، اطلاعاتی درباره پروژه، مانند نام و نام خانوداگی سازنده، نام پروژه، نسخه پروژه و ... از شما خواسته می شود که باید آن را پر کنید. پس از نوشتن تمام اطلاعات خواسته شده، فایلی با نام package.json ساخته می شود که حاوی اطلاعاتی است که وارد کرده اید.

npm_init

نصب ماژول

برای نصب ماژول های npm پس از اجرای دستور init، باید برای نصب هر ماژول، از دستور install استفاده کنیم. (می توان به جای install، از i استفاده کرد) نحوه استفاده بدین صورت است که باید دستوری مانند npm install module بنویسیم و به جای module نام ماژول را قرار دهیم. برای مثال اگر بخواهیم ماژول express را نصب کنیم، باید از دستور npm install express و یا npm i express استفاده کنیم.

npm_install_express

نصب ماژول به صورت گلوبال

با نصب هر ماژول npm، فایل های پکیج به فولدری به نام node_modules که در مسیر پروژه قرار دارد، انتقال پیدا می کند و این باعث می شود تا این فولدر و خود پروژه، سنگین تر شوند. اگر بخواهیم از این اتفاق جلوگیری کنیم، می توانیم از نصب گلوبال کمک بگیریم. نصب گلوبال یعنی اینکه ماژول به جای نصب شده در فولدر node_modules، به صورت گلوبال در node js نصب می شود و می توان از آن در هر پروژه ای استفاده کرد، این امر باعث می شود تا اگر بخواهیم از یک ماژول در چند پروژه استفاده کنیم، حجم و زمان کمتری مصرف شود.

برای نصب گلوبال تنها کافی است که -g را بعد از install و یا i بنویسیم.(-g مخفف global است) برای مثال اگر بخواهیم ماژول express را نصب کنیم، باید از دستور npm install -g express و یا npm i -g express استفاده کنیم.

npm_install_-g_express

استفاده از ماژول ها در پروژه

پس از نصب ماژول ها با npm، حالا نیاز است تا در پروژه node js از آن استفاده کنیم. برای اینکار تابعی با نام require وجود دارد که وظیفه اش ایمپورت کردن ماژول ها است. استفاده از این تابع برای فراخوانی هر ماژول متفاوت است، اما چیزی که در همه اینها یکسان است، این است که نام ماژول باید به عنوان ورودی به تابع require داده شود. برای مثال برای استفاده از express باید حتما require("express") را بنویسیم. (البته اگر این کد را در اول پروژه بنویسید، قطعا کار نخواهد کرد. با استفاده دقیق در آموزش های بعدی آشنا خواهیم شد)