صاحب محمدی
صاحب محمدی
خواندن ۲ دقیقه·۴ سال پیش

رابطه nodejs با npm چیه ؟ چرا اصلا npm واجبه ؟



چرا باید از npm استفاده کنیم ؟
چرا باید از npm استفاده کنیم ؟



بنظرم که غیر ممکنه که یه مدت کدنویسی کرده باشین و اسم بزرگوار npm رو نشنیده باشین! تا قبل سال 2009 کدهای جاوااسکریپت فقط میتونست توی مرورگر اجرا بشه.

میدونی چطوریه؟ هر مرورگری یه موتور جاوااسکریپت داره و کدهای js رو میگیره و به زبان قابل فهم ماشین تبدیل میکنه. پس تا اینجا متوجه شدیم وجود مرورگر لازمه. اما...


یه خفن به اسم  Dahl Ryan گفتش چطوره js رو خارج از مرورگر و سمت سرور اجرا کنیم ؟ زیبا نیست ؟ حرکتی که زد رفتش سمت موتور جستجو کروم (v8) اونو برداشت گذاشت تو یه سری کد ++c و یه چیزی متولد شد به اسم  nodejs عملا مرورگر رو این وسط حذف کرد. خب بعدش...



حال با استفاده از node js می‌توانیم کدهای جاوااسکریپت را خارج از مرورگر و برای کارهایی مانند ارتباط با دیتابیس و مدیریت فایل ها و انجام درخواست ها استفاده کنیم. برای اینکه پکیج های مربوط به nodejs به خوبی مدیریت شوند، package manager ی به اسم npm ارائه شد.




یعنی npm فقط برای node js هست ؟ خیر اصلا! اتفاقا خوبی npm همینه. این روزا پلتفرم های زیادی مثل انگولار، ریکت، نکست و.. کتابخونه ها(یا همون پکیج) خودشون رو  با npm مدیریت میکنن.




خو که چی ؟ ببین تصور کن(من هی میگم تصور کن!!)، چندتا کتابخونه نصب کردی، مثل material-ui, react-select, react-dropzone ,...حالا بعد نصب npm یه فایلی ایجاد میشه به اسم package.json که اسم تک تک اینا رو داره. حالا کدت رو میدی به همکارت و اون کافیه بزنه npm i و همه ی این ها برای اونم نصب میشه.



چند دبلیل استفاده از npm ؟

1 :  افزودن پکیج های مختلف به پروژه

2 : اجرا کردن پکیج ها بدون دانلود با استفاده از اجرای دستور در line command .

3 : بروزرسانی آسان پکیج های استفاده شده

4 : اشتراک گذاری کدها با سایر کاربران npm

5 : کنترل آسان ورژن پروژه

کافیه بری توی سایت nodejs.org/en  و آخرین نخسه پایدار nodejs رو نصب کنی. همزمان npm هم نصب میشه. هر پکیجی رو خواستی کافیه بزنی npm i packageName مثلا، npm i react-select .




npmبرنامه نویسیnodejspackage managerفرانت اند
یه مهندس نفت عاشق کدنویسی. نوشته هام رو هر چه ساده تر دوس دارم بنویسم و بقیه هم یاد بگیرن. حداقل شما اشتباهات من رو تکرار نکنید و توی مسیر درست قدم بر دارید. اینستا و تلگرام هم پست میذارم همیشه :))
شاید از این پست‌ها خوشتان بیاید