npm امکانات متنوعی را برای توسعهدهندگان فراهم میکند. با استفاده از آن، میتوانید بستههای جاوااسکریپت را از مخازن عمومی و خصوصی دانلود و نصب کنید. همچنین میتوانید بستههای سفارشی خود را بسازید و آنها را در مخازن شخصی خود منتشر کنید. npm توسعهدهندگان را قادر میسازد تا بستههای جاوااسکریپت را به راحتی به پروژههای خود اضافه کنند و از آنها استفاده کنند.
با استفاده از npm میتوانید بستههایی را که نیاز دارید در پروژه خود نصب کنید. همچنین میتوانید وابستگیهای پروژه خود را در فایل package.json مشخص کرده و با دستور npm install، تمامی وابستگیها را بهروزرسانی کنید. در کل، npm یک ابزار قدرتمند برای مدیریت بستههای نرمافزاری جاوااسکریپت است و توسعهدهندگان را قادر میسازد تا به راحتی بستههای مورد نیاز خود را پیدا کنند و در پروژههای خود استفاده کنند.
Package Manager چیست؟
یک مدیر بسته (Package Manager) نرمافزاری است که در فرآیند نصب، بروزرسانی، حذف و مدیریت بستههای نرم افزاری به توسعهدهندگان کمک میکند. بستههای نرم افزاری میتوانند شامل برنامهها، کتابخانهها، ابزارها و منابع مختلفی باشند که برای اجرای نرمافزارها و سرویسها لازم هستند.
وظیفه اصلی یک مدیر بسته این است که فرآیند نصب و مدیریت بستههای نرم افزاری را تسهیل کند. به عنوان مثال، میتوانید از یک مدیر بسته استفاده کنید تا بستههای نرم افزاری را از منابع معتبر دانلود و نصب کنید. همچنین مدیر بسته قادر است بستهها را بروزرسانی کرده و نسخههای جدید را نصب کند. همچنین میتواند بستههای نصب شده را حذف کرده و مشکلات احتمالی در تعاریف بستهها را حل کند.
مدیران بسته برای سیستمعاملهای مختلف وجود دارند. به عنوان مثال، در سیستمعاملهای مبتنی بر لینوکس میتوان از مدیران بسته معروفی مانند APT سرنام (Advanced Packaging Tool) برای توزیعهای دبیان و اوبونتو یا YUM برای توزیعهای مبتنی بر فدورا و CentOS استفاده کرد. در سیستمعاملهای دیگر نیز مدیران بسته مشابهی وجود دارند.
موارد کاربرد npm
Npm یکی از مدیران بستههای محبوب است که برای مدیریت بستههای نرم افزاری در برنامههای مبتنی بر Node.js استفاده میشود. این مدیر بسته به توسعهدهندگان اجازه میدهد تا بستههایی را که نوشتهاند، منتشر کنند و بستههای دیگر را از منابع مختلف دریافت و استفاده کنند. کاربرد اصلی npm به شرح زیر است:
- نصب بستهها: با استفاده از دستورات مشخص، توسعهدهندگان میتوانند بستههای نرم افزاری را از مخزن npm دانلود و نصب کنند. این بستهها شامل کتابخانهها، ابزارها و فریمورکها هستند که برای توسعه برنامهها در Node.js استفاده میشوند.
- مدیریت وابستگیها: npm به توسعهدهندگان اجازه میدهد تا وابستگیهای پروژه خود را در فایل package.json تعریف کنند. سپس با استفاده از دستور "npm install"، تمام وابستگیها به صورت خودکار دانلود و نصب میشوند. این امر به توسعهدهندگان کمک میکند تا به راحتی پروژههای خود را منتقل کنند و از وابستگیهای مورد نیاز برای اجرای برنامهها اطمینان حاصل کنند.
- بروزرسانی بستهها: با استفاده از دستورات مشخص، توسعهدهندگان میتوانند بستههای نرم افزاری را به نسخههای جدیدتر بروزرسانی کنند. این امر به طور مداوم انجام میشود تا توسعهدهندگان از بهترین و جدیدترین ویژگیها و اصلاحات امنیتی بستهها بهرهبرداری کنند.
- منتشر کردن بستهها: توسعهدهندگان میتوانند بستههای خود را در مخزن npm منتشر کنند تا سایر توسعهدهندگان بتوانند آنها را استفاده کنند. رویکرد فوق به توسعهدهندگان اجازه میدهد تا کدهای خود را به صورت عمومی به اشتراک بگذارند و برای جامعه برنامهنویسی سودمند باشند.
- اجرای دستورات سفارشی: npm اجازه میدهد تا توسعهدهندگان دستورات سفارشی خود را در فایل package.json تعریف کنند.
- حذف بستهها: با استفاده از دستور npm uninstall میتوانید بستههای نصب شده را حذف کنید. این دستور به همراه نام بسته اجرا میشود و npm بسته را از سیستم حذف میکند.
- جستجوی بستهها: با استفاده از دستور npm search میتوانید در مخزن npm برای بستههای مورد نظر جستجو کنید و اطلاعاتی مانند نام، توضیحات و نسخههای مختلف بستهها را مشاهده کنید.
- منتشر کردن بستهها: با استفاده از دستورات npm publish و npm version میتوانید بستههای خود را در مخزن npm منتشر کنید. با انتشار بستهها، سایر توسعهدهندگان میتوانند آنها را استفاده کنند و در پروژههای خود استفاده کنند.
نود جی اس چیست؟
Node.js یک محیط اجرایی (runtime) مبتنی بر JavaScript است که بر روی سمت سرور عمل میکند. این فناوری به توسعهدهندگان امکان میدهد تا برنامههای وب و شبکه پویا را با استفاده از JavaScript ایجاد کنند و اجرا کنند. به طور سنتی، JavaScript برای اجرای کدها در مرورگرها مورد استفاده قرار میگرفت ولی با استفاده از Node.js، میتوان آن را در سمت سرور نیز به کار برد. مزایای استفاده از Node.js به شرح زیر است:
- عملکرد مبتنی بر رویداد: Node.js از معماری بر مبنای رویداد (event-driven) و ورودی/خروجی غیر مسدودکننده (non-blocking I/O) پیروی میکند. این به معنی این است که برنامهها با استفاده از رویدادها و بازخورد غیرمسدود میتوانند به صورت همروند عمل کنند و به شکل دقیقی به بارهای کاری سنگین رسیدگی کنند.
- استفاده از JavaScript: نود جی اس بر روی موتور V8 JavaScript ارائه شده توسط گوگل ساخته شده است. این به معنی آن است که توسعهدهندگان میتوانند از قدرت و امکانات زبان JavaScript بهره ببرند و کدهای قابل حمل را بین سمت کلاینت و سرور به اشتراک بگذارند.
- کتابخانههای متعدد: با استفاده از Node.js، توسعهدهندگان میتوانند از بیش از یک میلیون بسته و کتابخانه قابل استفاده در مخزن npm استفاده کنند. این کتابخانهها شامل ابزارها و فریمورکهای مختلفی هستند که توسعه برنامهها را سرعت میبخشند و کدنویسی را سادهتر میکنند.
- مقیاسپذیری: Node.js به خوبی از مقیاسپذیری افقی را پشتیبانی میکند، به این معنی که میتوانید سرورهای متعددی را در شبکه برای پردازش همزمان درخواستهای بزرگتر راهاندازی کنید.
- توسعه سریع: با استفاده از Node.js، توسعهدهندگان قادر خواهند بود برنامههای سریع را در مدت زمان کوتاهی توسعه دهند. این به دلیل استفاده از زبان جاوااسکریپت و معماری غیر مسدودکننده آن است.
به طور خلاصه، Node.js یک محیط اجرایی سمت سرور است که برای توسعه بر مبنای فناوری نود جی اس (Node.js) که یک محیط اجرایی (runtime) برای زبان جاوا اسکریپت است که بر روی سمت سرور عمل میکند، توسعه پیدا کرده است. این به توسعهدهندگان امکان میدهد تا برنامههای وب پویا و سایر برنامههای شبکه را با استفاده از جاوا اسکریپت ایجاد و اجرا کنند.
با توجه به مزایای نود جی اس مانند معماری رویدادمحور، سرعت بالا، قابلیت مقیاسپذیری و جامعه فعال توسعه دهندهگان، این محیط اجرایی در سالهای اخیر به طور گستردهای مورد استفاده قرار گرفته است و بسیاری از بزرگترین شرکتها و سرویسهای وب از آن استفاده میکنند.
ارتباط بین نود جی اس و NPM چیست؟
همان گونه که اشاره کردیم؛ NPM یک سیستم مدیریت بستههای نرمافزاری برای Node.js است. این ابزار به توسعهدهندگان امکان میدهد تا بستهها و کتابخانههای نرمافزاری را در پروژههای Node.js خود مدیریت کنند. ارتباط نزدیکی بین Node.js و NPM وجود دارد. در واقع، NPM به عنوان مخزن اصلی برای بستههای Node.js عمل میکند و توسعهدهندگان از طریق آن میتوانند به بیش از یک میلیون بسته و کتابخانه قابل استفاده دسترسی پیدا کنند.
با استفاده از NPM، میتوانید بستههای نرمافزاری را به پروژههای Node.js خود اضافه کنید و آنها را مدیریت کنید. با اجرای دستورات مشخص، NPM به شما امکان میدهد تا بستهها را نصب، بروزرسانی و حذف کنید. همچنین، میتوانید بستههای خود را منتشر کرده و با سایر توسعهدهندگان به اشتراک بگذارید.
نود جی اس همراه با NPM استفاده میشود. بنابراین، با نصب Node.js، شما به طور خودکار دسترسی به NPM خواهید داشت. با استفاده از دستورات NPM، میتوانید بستههای نرمافزاری را به پروژههای Node.js خود اضافه کنید و از آنها در کد خود استفاده کنید. برای نصب بستهها، معمولاً فایل package.json به عنوان فایل تنظیمات پروژه در پوشه اصلی پروژه وجود دارد. این فایل شامل اطلاعات مربوط به پروژه و بستههای مورد نیاز آن است. با اجرای دستور npm install، NPM تمامی بستههای مورد نیاز را بر اساس اطلاعات موجود در فایل package.json دریافت و نصب میکند. به طور خلاصه، NPM به عنوان سیستم مدیریت بستهها برای Node.js عمل میکند و ارتباط نزدیکی با Node.js دارد. با استفاده از NPM، میتوانید بستهها و کتابخانههای نرمافزاری را به پروژههای Node.js خود اضافه کنید و از آنها استفاده کنید.
چرا باید از NPM استفاده کرد؟
استفاده از NPM برای توسعهدهندگان Node.js بسیار مفید است و دارای مزایای درخشانی است که از مهمترین آنها به موارد زیر باید اشاره کرد:
- مدیریت بستههای نرمافزاری: NPM به شما اجازه میدهد تا بستههای نرمافزاری مورد نیازتان را به راحتی نصب، بروزرسانی و حذف کنید. این ابزار به شما کمک میکند تا وابستگیها و نیازمندیهای پروژه خود را بهروز نگه دارید و به سادگی مدیریت کنید.
- مخزن بزرگ بستهها: NPM دارای یک مخزن بزرگ است که بیش از یک میلیون بسته نرمافزاری را در اختیار شما قرار میدهد. این به شما امکان میدهد تا از بستهها و کتابخانههای آماده استفاده کنید و نیازمندیهای خود را با سرعت بالا برطرف کنید.
- سهولت استفاده و همکاری: با استفاده از NPM، میتوانید بستههای خود را منتشر کنید و با سایر توسعهدهندگان به اشتراک بگذارید. این به شما امکان میدهد که در جامعه گستردهای از توسعهدهندگان فعال شوید و با آنها همکاری کنید.
- امنیت: NPM دارای ابزارها و روشهای امنیتی است که به شما کمک میکند تا از بستههایی که استفاده میکنید، اطمینان حاصل کنید. میتوانید بستههایی که از مخزن دریافت میکنید را بازبینی کنید و به روزرسانیهای امنیتی را اعمال کنید.
- اکوسیستم قدرتمند: با استفاده از NPM، میتوانید در اکوسیستم گستردهای از ابزارها، فریمورکها و کتابخانههای نرمافزاری قرار بگیرید. رویکرد فوق به شما امکان میدهد تا با استفاده از ابزارها و کتابخانههای آماده، توسعه سریعتر و بهبود عملکرد پروژه خود را تجربه کنید.
در کل، NPM یک ابزار قدرتمند برای مدیریت بستهها و کتابخانههای نرمافزاری در پروژههای Node.js است. با استفاده از آن، میتوانید به سادگی بستههای مورد نیاز خود را نصب کنید، نیازمندیها را مدیریت کنید و با توسعهدهندگان دیگر همکاری سازندهای داشته باشید.
package.json چیست؟
فایل package.json یک فایل تنظیمات است که در پروژههای Node.js ایجاد میشود. این فایل شامل اطلاعات و تنظیمات مربوط به پروژه شما است و برای مدیریت بستههای نرمافزاری، وابستگیها، اسکریپتها و سایر تنظیمات مورد نیاز پروژه استفاده میشود.
در فایل package.json، شما میتوانید اطلاعاتی مانند نام پروژه، نسخه، نویسنده، توضیحات و متعلقات دیگر را تعریف کنید. همچنین، لیستی از وابستگیها (dependencies) و وابستگیهای توسعه (devDependencies) که پروژه شما به آنها نیاز دارد، در این فایل مشخص میشود.
وابستگیها (dependencies) شامل بستههایی هستند که پروژه در حال اجرا نیاز دارد تا به درستی کار کند. با اجرای دستور npm install، NPM تمامی این بستهها را بر اساس اطلاعات موجود در فایل package.json دریافت و نصب میکند.
وابستگیهای توسعه (devDependencies) همانند وابستگیها هستند، با این تفاوت که فقط در محیط توسعه (development environment) استفاده میشوند. به طور مثا، ابزارها و کتابخانههایی که برای تست، اشکالزدایی و بررسی کد استفاده میشوند، معمولا در این بخش قرار میگیرند.
علاوه بر وابستگیها، فایل package.json اجازه میدهد تا اسکریپتهایی را تعریف کنید که با استفاده از دستور npm run قابل اجرا هستند. این اسکریپتها میتوانند عملیاتی مانند اجرای برنامه، تست و بیلد را انجام دهند. به طور کلی، فایل package.json به شما امکان میدهد تا اطلاعات و تنظیمات مربوط به پروژهتان را در یک مکان مرکزی نگهداری کنید و با استفاده از ابزارهایی مانند NPM، بستهها را به راحتی مدیریت کنید و فرآیند توسعه و اجرای پروژه را سهلتر کنید.
مثالی از package.json
در زیر یک مثال از محتوای یک فایل package.json را مشاهده میکنید:
json
{
"name": "my-app",
"version": "1.0.0",
"description": "A sample project",
"author": "John Doe",
"license": "MIT",
"dependencies": {
"express": "^4.17.1",
"axios": "^0.21.1"
},
"devDependencies": {
"jest": "^27.2.0",
"nodemon": "^2.0.12"
},
"scripts": {
"start": "node index.js",
"test": "jest",
"dev": "nodemon index.js"
}
}
در این مثال، فایل package.json مربوط به یک پروژه با نام "my-app" است. توضیحات، نسخه، نویسنده و لایسنس پروژه نیز مشخص شده است. وابستگیهای پروژه در بخش "dependencies" قرار دارند. در اینجا، دو بسته به نامهای "express" و "axios" با نسخههای مشخص شده درج شدهاند.
وابستگیهای توسعه در بخش "devDependencies" قرار دارند. در اینجا، دو بسته به نامهای "jest" و "nodemon" با نسخههای مشخص شده درج شدهاند. این بستهها برای تست و توسعه پروژه استفاده میشوند. در بخش "scripts"، اسکریپتهای مختلفی تعریف شدهاند. برای مثال، اسکریپت "start" برای اجرای فایل "index.js" با استفاده از دستور "node" استفاده میشود. همچنین، اسکریپت "test" برای اجرای تستها با استفاده از بسته "jest" و اسکریپت "dev" برای اجرای فایل "index.js" با استفاده از بسته "nodemon" تعریف شده است. این مثال نشان میدهد که فایل package.json قابلیت تعریف و مدیریت اطلاعات پروژه، وابستگیها و اسکریپتهای مورد نیاز را فراهم میکند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟