سلام دوستان
من به خاطر نیاز به برخی ماژول ها مجبور شدم نود ماژول رو روی پروژه ی لاراولیم نصب کنم
حالا سوالم اینه همیشه برای نصب ی ماژول حتما باید نود ماژول روی پروژه نصب بشه؟
راهی هست که بشه فقط ماژول مورد نیاز رو نصب کنیم نه کل نود ماژول رو؟
@saman1111
داخل nodemodules ، ماژول های خیلی زیادی وجود داره که باعث میشه حجم پروژه زیاد شه
اگه ی ماژول که برای پروژم نیاز بود رو نصب کردم بعدش میتونم بقیه ی ماژول های داخل nodemodules رو حذف کنم یا این کار باعث میشه پروژم به درستی کار نکنه؟
هر ماژولی که نیاز باشه براتون نصب میشه توی اون پوشه
شما هر ماژولی که نصب می کنید اون اضافه میشه به اون پوشه
هر ماژولی اونجا هست یا شما نصب کردید یا برای کارکرد پروژتون نیاز بوده که نصب شده
دوست عزیز، پوشه node_modules فقط برای محیط development تون هست و نباید روی سرور بارگزاری کنید. بعد از اینکه فرایند توسعه پروژتون تمام شد باید asset های جاوااسکریپتی و css تون رو کامپایل کنید و فقط نسخه کامپایل شده اش رو روی سرور بارگزاری میکنید.
اگر هم نگران حجم پروژتون در محیط لوکال هستید به نظرم نباید دغدغه مهمی باشه براتون و اینکه تقریبا چاره ای نیست. مگر اینکه اگر حالا حالا ها با اون پروژه کار ندارید کل فولدر node_modules رو حذف کنید و هر وقت دوباره نیاز شد دوباره با npm install نصب کنید. ولی خوب چه کاریه؟
و توجه داشته باشید که هر پکیج معمولا خودش وابسته به تعدادی پکیج دیگه هست. به همین خاطره که میبینید تعداد فولدرهای خیلی بیشتری نسبت به مواردی که خودتون مستقیما نصب کردید داخل این پوشه هست. پس با این توضیح نباید بقیه فولدرهایی که براتون آشنا نیستند رو دستی حذف کنید. چون به احتمال زیاد داره جای دیگه ای مورد استفاده قرار میگیره که نصب شده.
@mhyeganeh
سلام. من الان توی پروژه میخوام مثلا از یه ویدئو پلیر استفاده کنم Video.js رو نصب میکنم توی پروژه ای که تازه ساختم!
الان میخوام یه فایل html توی پروژه تعریف کنم و از فایل های Video.js توی اون پروژه استفاده کنم! مثلا برای Taliwind میتونم توی پروژم با کانفیگ کردنش طبق آموزش هاش اونو توی پروژم استفاده کنم اما برای پروژه هایی مثل Video.js که راهنمایی در این مورد ندارن باید چجوری ازش توی پروژه استفاده کنم و بخش های مورد نیازشو شخصی سازی کنم ؟
بعد از نصب از طریق NPM شما نیاز به یک Bundler دارید. یعنی ابزاری که با استفاده از اون بیاید کلیه کدهای مورد نیاز برای پروژتون رو از داخل پوشه Nodemodules و ... بردارید و با هم ترکیب کنید و یک خروجی در پوشه public به شما تحویل بده که همون فایلی هست که نهایتا توسط کاربران لود میشه.
در هر پکیج داستان ممکنه متفاوت باشه و پکیج های جدید معمولا نحوه درست import کردن رو در مستنداتشون میارن. مثلا اگر از ES6 پشتیبانی بکنند یک چیزی مثل این میشه:
import VideoJS from 'video.js';
window.VideoJS = VideoJS;
یکی از ابزارهای معروف bundler وبپک (Webpack ) هست اگر شنیده باشید که در لاراول به کمک ابزار Laravel Mix و فایل webpack.mix.json تنظیماتش اعمال میشه.
خلاصه کلام اینکه پوشه nodemodules فقط برای محیط development هست و نباید روی سرور بارگزاری بشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟