
آموزش NPM برای جاوااسکریپت کارها
به صورت خلاصه، NPM یک پکیج منیجر است. در اصل نود جی اس یک پکیج منیجر به اسم NPM دارد. زمانی که شما Node Js را نصب می کنید، علاوه بر Node یک پکیج منیجر به اسم NPM نیز در اختیار شما قرار میگیرد که می توانید برای مدیریت پکیج های یک پروژه جاوا اسکریپتی از آن استفاده کنید.

توضیحات
تا حالا به این فکر کردید چرا توسعه تکنولوژی در سال های اخیر انقدر سریع بوده؟ یکی از دلایل اون موضوع آموزش همین دوره هست. یعنی
NPMاینکه چرا و چطوری این تاثیرو گذاشته به مرور بررسی میکنیم ولی فعلا در همین حد بدونید که در گذشته به خاطر ساده تر بودن ساختار برنامه نویسی و پروژه ها، اضافه کردن کتابخانه ها به پروژه کار سختی نبود چون تعدادشون به اندازه الان نبود و مشکلی در این فرآیند احساس نمیشد.تا اینکه با گذشت زمان، هم تعداد کتابخانه ها به طور شگفت انگیزی زیاد شد و هم استفاده و رواج اونها در جهان به دلیل افزایش رقابت و تنوع سلیقه کاربران، بیشتر شد.
از طرفی بعضی از کتابخانه ها به کتابخانه های دیگه ای وابسته بودن و قبلش باید اونهارو نصب میکردید و این مسئله باعث ایجاد سردرگمی و افزایش حجم پروژه میشد.
مهندسان به این فکر افتادن که یک پلتفرم برای نصب و مدیریت کتابخانه ها، به روزرسانی، کنترل وابستگی و … نیاز هست تا این اتفاقات برای برنامه نویسان سراسر دنیا راحت تر کنترل بشه و نیازی به دخالت دستی برنامه نویس نباشه. این شد که
NPMخلق شد!
چند مورد از مزایا و
کاربردهای NPMرو به طور خلاصه براتون لیست می کنیم:
- افزودن پکیج های مختلف به پروژه
- اجرا کردن پکیج ها بدون دانلود با استفاده از اجرای دستور در CLI (command line)
- کنترل آسان ورژن پروژه
- اشتراک گذاری پروژه و کدها با سایر برنامه نویسان
- بروزرسانی آسان تر و سریع تر کتابخانه ها
) یا همون مدیر پکیج طراحی و تولید کنه تا دانشجوها خیلی بیشتر از قبل با نحوه مدیریت پکیج ها و کار با این پلتفرم بین المللی آشنا بشن.
در ادامه سعی می کنیم پرتکرارترین سوالات و دغدغه های شمارو جواب بدیم تا با خیال راحت تری در این دوره ثبت نام کنید. پس تا انتها با ما همراه باشید.
چه زمانی باید از NPM استفاده کنیم؟ آیا ضروری هست؟
فقط در یک حالت هست که میتونید از NPMاستفاده نکنید اون هم در صورتیه که تصمیم بگیرید صفر تا صد پروژه رو خودتون از اول کدنویسی کنید و هیچ نیازی به کتابخانه و ابزار کمکی از قبل آماده شده ندارید. البته این وضعیت با توجه به اهمیت سرعت کدنویسی و اتمام پروژه ها در دنیای امروز به ندرت پیش میاد و در حال حاضر اکثر برنامه نویسان مبتدی و حرفه ای از
NPMاستفاده میکنن.
تو این دوره قراره چی یاد بگیریم؟
قسمتی از سرفصل های آموزشی دوره به صورت خلاصه :
1 – آشنایی با مفاهیم پایه
درک مفاهیم اصلی مثل پکیج ها، وابستگی ها، ورژن ها و دستورات اصلی که میتونه به شما کمک کند تا اساسی ترین قسمت های
NPMرو متوجه بشید و آمادگی بیشتری برای مراحل بعدی پیدا کنید.
2 – آموزش نصب Node.js
NPMبه صورت تعاملی با Node.js کار میکنه که پلتفرم بک اند جاوا اسکریپت هست. بنابراین برای استفاده از
NPMباید Node.js رو نصب کنید. بعد از نصب Node.js،
NPMبه طور خودکار به همراه اون نصب میشه.
3 – نحوه مدیریت پکیج ها و استفاده از دستورات اصلی (کامند ها)
یادگیری نحوه نصب، حذف و به روزرسانی پکیج ها به عنوان ابزارهای کلیدی در تسلط به
NPMمحسوب میشه و اون رو به بهترین شکل یاد می گیرید. دستورات مهمی مثل `npm install` برای نصب پکیج ها، `npm update` برای به روزرسانی پکیج ها، و `npm start` برای اجرای پروژه ها از جمله محتواهای این بخش هستن.
4 – پیاده سازی آموزش ها در قالب ایجاد یک پروژه جدید
با ایجاد یک پروژه جدید، می تونید نحوه ساختاردهی پروژه و مدیریت پکیج ها رو به صورت عملی تجربه کنید.
5 – نشر پکیج های شخصی
اگه قصد دارید پکیج های خودتون رو با دیگران به اشتراک بگذارید، باید یاد بگیرید چطور اونهارو در ریپازیتوری
NPMمنتشر کنید.
6 – استفاده از پکیج های خارجی
یادگیری نحوه جستجو، انتخاب و استفاده از پکیج هایی که توسط دیگران توسعه داده شدن، خیلی خیلی مهم هست و یاد می گیرید چطور از این ظرفیت های عالی برای پیشبرد کارتون استفاده کنید.
7 – مفاهیم پیشرفته
بعد از مسلط شدن به مفاهیم پایه، میتونید به موارد پیشرفته تر مثل تنظیمات پکیج، ایجاد اسکریپت ها، مدیریت اشتراک ها و مشارکت در پروژه های عمومی بپردازید.
با پیگیری این مراحل و تمرین های عملی، تسلط به
NPMرو زودتر و بهتر از تصورتون به دست میارید.
این دوره برای چه کسانی مناسب هست؟
یادگیری کار با
NPMبرای تمامی برنامه نویسان و توسعه دهنده هایی که با زبان برنامه نویسی جاوا اسکریپت (JavaScript) یا زبان هایی که از اکوسیستم Node.js پشتیبانی میکنن، سروکار دارن خیلی ضروری هست. از جمله :
- برنامه نویسان وب
- توسعه دهندگان Front-end و Back-end
- توسعه دهندگان Mobile
- توسعه دهندگان پلاگین و کتابخانه
- توسعه دهندگان پروژه های Open Source : افرادی که علاقه به مشارکت در پروژه های متن باز دارن و میخوان با توسعه دهنده های سراسر دنیا تبادل اطلاعات و تجربه داشته باشن.
چرا سبزلرن بهترین گزینه برای یادگیری هست؟
حتما برای شما هم پیش اومده که گاهی فرصت ها و پروژه های بزرگ رو از دست میدید فقط به خاطر اینکه در ظاهر فکر میکنید آمادگی کار در اون سطح رو ندارید و هنوز سرعت و تسلط لازم برای پیاده سازی اونهارو بدست نیاوردید. یکی از دلایل میتونه عدم آشنایی شما با اکوسیستم اون زبان برنامه نویسی باشه. مثل فریم ورک ها، کتابخانه ها و …
تفاوت سبزلرن در همین هست که علاوه بر دوره های آموزشی اصلی، مجموعه ای از دوره های مکمل فوق العاده هم برای دانشجوهای خودش تدارک میبینه ( اکثرا رایگان! ) تا مطمئن بشه فاصله شون با تسلط کامل و کسب درآمدهای بالا فقط و فقط اراده و جدیت اون ها باشه نه مسائل فنی!
این دوره با محتوای جذاب و مفید خودش میتونه به شما کمک کنه با سرعت و کیفیت بیشتری پروژه های خودتون رو به سرانجام برسونید.
بعد از اتمام دوره به چه نتیجه ای می رسیم؟
1 – توانایی مدیریت کامل پکیج ها
با استفاده از
NPM، میتونید به راحتی پکیج ها و کتابخانه های آماده رو در پروژه های خود نصب کنید و از اونها استفاده کنید. این کمک میکنه تا امکانات مختلفی رو بدون نیاز به نوشتن کدها از صفر، پیاده سازی کنید.
2 – بروزرسانی و مدیریت وابستگی ها
با یادگیری NPM میتونید به روزرسانی پکیج هارو به راحتی انجام داده و وابستگی های پروژه رو به روز نگه دارید. این اتفاق باعث میشه تا از نسخه های جدیدتر پکیج ها و امکانات بهتر آنها بهتر استفاده کنید و سردرگم نشید.
3 – کارایی و بهره وری
با استفاده از پکیج های آماده در
NPM، میتونید توسعه رو سریع تر انجام داده و کارهای تکراری رو کمتر کنید. در واقع حوصله تون هیچوقت از نوشتن صفر تا صد کد برای هر چیز کوچیکی سر نخواهد رفت.
4 – جامعه بزرگ توسعه دهندگان
اکوسیستم
NPMیک جامعه بزرگ و پویا از توسعه دهندگان داره که به شما کمک میکنه از تجربیات دیگران به راحتی استفاده کرده و با پروژه های مشابه در ارتباط باشید.
5 – نشر پکیج های شخصی
اگه دوست دارید پکیج های خودتون رو با دیگران به اشتراک بذارید،
NPMبه شما این امکان رو میده که پکیج های شخصی خودتون رو منتشر کنید و بازخورد و مشارکت دیگران رو در بهبود اونها، به دست بیارید.
به طور کلی، یادگیری
NPMبه شما کمک میکنه تا توسعه سریع تر و منظم تری رو تجربه کنید. زمانی که شما در یک پروژه به صورتی تیمی کار میکنید یا زمانی که در یک شرکت استخدام شدید، اونجا حتما نیاز هست که با ابزارهای package manager کار کرده باشید تا مشکلی برای اجرا پروژه ها مدیریت پکیج ها نداشته باشید.
شما بعد از دیدن این دوره توانایی کار با
NPMرو به صورت کامل و حرفه ای خواهید داشت و میتونید به صورت تیمی با برنامه نویس های دیگه کار کنید.
این دوره پیش نیاز خاصی داره که باید قبلش بلد باشم؟
آشنایی و تسلط به زبان برنامه نویسی جاوا اسکریپت که پای ثابت پروژه های برنامه نویسی به خصوص تحت وب هست، مهمترین پیش نیاز ورود به این دوره محسوب میشه. چون تا وقتی به اون مسلط نباشید، دیدن این دوره هم کمکی به شما نخواهد کرد.
وقتی این دوره رو دیدم قدم بعدیم چیه؟
شما بعد از دیدن دوره و تسلط به
NPMمیتونید در مورد تنظیمات پکیج های مختلف تحقیق کنید و یا پکیج های شخصی سازی خودتون رو در اختیار دیگران در هرجای دنیا بذارید. در کنار اینها میتونید به راحتی در پروژه های متن باز بین المللی یا داخلی هم مشارکت کنید و تجربیات خودتون رو به دیگران منتقل کنید یا از تجربیات ارزشمند اونها استفاده کنید.
در این دوره چه نوع پروژه هایی کار میکنیم ؟
در جلسه اخر این دوره یک پروژه کوچیک پیاده سازی میکنیم و در اون با نصب چندتا پکیج و استفاده از اونها در پروژه به صورت عملی یاد خواهید گرفت که در پروژه های واقعی چطور باید از
npmاستفاده کرد.
چه تضمینی هست که خوب و کامل یاد بگیرم؟
چندین دلیل هست که معمولا باعث عدم نتیجه گیری شما از هر دوره ای میشه :
- کیفیت پایین محتوای آموزشی و سبک و تسلط مدرس
- عدم اشتیاق و علاقه مندی کافی برای یادگیری
- نبود پشتیبانی در دسترس و قوی در طول آموزش
- عدم مرور و تمرین مطالب (انبار کردن اونها برای روز مبادا !)
پس همه چی حله…
جلسات
ویدیوی معرفی
مفهوم پکیج منیجر و npm چیست و چه کاربردی دارند؟
نصب پیش نیازها (Nodejs و Gitbash)
مفهوم ماژول و برنامه نویسی ماژولار
کار با کامند های مقدماتی ترمینال
کار با npm init و فایل package.json
نحوه نصب پکیج های مورد نیاز پروژه با Npm
نحوه حذف پکیج های دلخواه با Npm
کاربرد فولدر node_modules و کامند npm i
مفهوم Semantic Version (نحوه ورژن بندی پکیجها)
نصب نسخه دلخواه از هر پکیج
تفاوت dependency با devDependency
نصب پکیج ها به صورت local و global
فایل package-lock چیست؟ (کار با npm list --depth)
نحوه ست کردن Config های Npm
مفهوم Flag در کامند های Npm
جزئیات مستندات پکیجها در Npm
کار با script های Npm
کار با کامند های Npm Update و نقش کاراکتر های ^ * ~ در آن
توضیح مفهوم Npx و کاربرد های آن
مفهوم آسیب پذیری پکیجها و کامند npm audit
استفاده از NPM به عنوان پکیج منیجر در پروژه واقعی
سخن پایانی
پیش نیاز ها
پشتیبانی
این دوره مجهز به «سبزبات» ربات هوشمند مبتنی بر هوش مصنوعی است.
اگر در حین مشاهده جلسات دوره با سوال یا ابهامی مواجه شدید، میتوانید پرسش خود را از سبزبات بپرسید و در همان لحظه پاسخ دریافت کنید. در صورتی که نیاز به توضیح بیشتر یا پاسخ تخصصی مدرس داشتید، کافی است از سبزبات بخواهید تا سوال شما را به مدرس دوره ارجاع دهد تا مستقیماً توسط مدرس پاسخ داده شود.

نظرات
نیما جان سلام.
برای شروع دوره جاوا اسکریپت، نیازی به این دوره ندارید.
اما برای شروع یادگیری ریاکت، باید این دوره رایگان رو بگذرونید 👌❤️