Saied Hr
4 سال پیش توسط Saied Hr مطرح شد
6 پاسخ

حجم زیاد node module

سلام دوستان
من به خاطر نیاز به برخی ماژول ها مجبور شدم نود ماژول رو روی پروژه ی لاراولیم نصب کنم
حالا سوالم اینه همیشه برای نصب ی ماژول حتما باید نود ماژول روی پروژه نصب بشه؟
راهی هست که بشه فقط ماژول مورد نیاز رو نصب کنیم نه کل نود ماژول رو؟


ثبت پرسش جدید
saman
@saman1111 4 سال پیش مطرح شد
0

سلام
منظورتون چیه ؟
ماژول ها داخل node_modules قرار میگیرن


Saied Hr
@saeedlovelorn2 4 سال پیش آپدیت شد
0

@saman1111
داخل nodemodules ، ماژول های خیلی زیادی وجود داره که باعث میشه حجم پروژه زیاد شه
اگه ی ماژول که برای پروژم نیاز بود رو نصب کردم بعدش میتونم بقیه ی ماژول های داخل nodemodules رو حذف کنم یا این کار باعث میشه پروژم به درستی کار نکنه؟


saman
@saman1111 4 سال پیش مطرح شد
0

هر ماژولی که نیاز باشه براتون نصب میشه توی اون پوشه
شما هر ماژولی که نصب می کنید اون اضافه میشه به اون پوشه
هر ماژولی اونجا هست یا شما نصب کردید یا برای کارکرد پروژتون نیاز بوده که نصب شده


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
2

دوست عزیز، پوشه node_modules فقط برای محیط development تون هست و نباید روی سرور بارگزاری کنید. بعد از اینکه فرایند توسعه پروژتون تمام شد باید asset های جاوااسکریپتی و css تون رو کامپایل کنید و فقط نسخه کامپایل شده اش رو روی سرور بارگزاری میکنید.

اگر هم نگران حجم پروژتون در محیط لوکال هستید به نظرم نباید دغدغه مهمی باشه براتون و اینکه تقریبا چاره ای نیست. مگر اینکه اگر حالا حالا ها با اون پروژه کار ندارید کل فولدر node_modules رو حذف کنید و هر وقت دوباره نیاز شد دوباره با npm install نصب کنید. ولی خوب چه کاریه؟

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


اسماعیل نصرتی
تخصص : طراح صنعتی
@mr.e.nosrati 2 سال پیش آپدیت شد
0

@mhyeganeh
سلام. من الان توی پروژه میخوام مثلا از یه ویدئو پلیر استفاده کنم Video.js رو نصب میکنم توی پروژه ای که تازه ساختم!
 تصویر

الان میخوام یه فایل html توی پروژه تعریف کنم و از فایل های Video.js توی اون پروژه استفاده کنم! مثلا برای Taliwind میتونم توی پروژم با کانفیگ کردنش طبق آموزش هاش اونو توی پروژم استفاده کنم اما برای پروژه هایی مثل Video.js که راهنمایی در این مورد ندارن باید چجوری ازش توی پروژه استفاده کنم و بخش های مورد نیازشو شخصی سازی کنم ؟


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش آپدیت شد
1

@mr.e.nosrati

بعد از نصب از طریق NPM شما نیاز به یک Bundler دارید. یعنی ابزاری که با استفاده از اون بیاید کلیه کدهای مورد نیاز برای پروژتون رو از داخل پوشه Nodemodules و ... بردارید و با هم ترکیب کنید و یک خروجی در پوشه public به شما تحویل بده که همون فایلی هست که نهایتا توسط کاربران لود میشه.

در هر پکیج داستان ممکنه متفاوت باشه و پکیج های جدید معمولا نحوه درست import کردن رو در مستنداتشون میارن. مثلا اگر از ES6 پشتیبانی بکنند یک چیزی مثل این میشه:

import VideoJS from 'video.js';
window.VideoJS  = VideoJS;

یکی از ابزارهای معروف bundler وب‌پک (Webpack ) هست اگر شنیده باشید که در لاراول به کمک ابزار Laravel Mix و فایل webpack.mix.json تنظیماتش اعمال میشه.

خلاصه کلام اینکه پوشه nodemodules فقط برای محیط development هست و نباید روی سرور بارگزاری بشه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام