ساختار فایل
آیا روش پیشنهادی برای ساختار پروژههای ریاکت وجود دارد؟
ریاکت درباره اینکه شما چگونه فایلها را در پوشه قرار میدهید نظری ندارد. چند رویکرد رایج در اکوسیستم وجود دارد که ممکناست بخواهید آنها را در نظر بگیرید.
دسته بندی بر اساس قابلیتها یا مسیرها
یک روش متداول برای ساختار پروژهها، قرار دادن JS ،CSS و تست ها با یکدیگر درون پوشههایی است که بر اساس قابلیتها یا مسیرها دسته بندی شدهاند.
common/
Avatar.js
Avatar.css
APIUtils.js
APIUtils.test.js
feed/
index.js
Feed.js
Feed.css
FeedStory.js
FeedStory.test.js
FeedAPI.js
profile/
index.js
Profile.js
ProfileHeader.js
ProfileHeader.css
ProfileAPI.js
تعریف یک «قابلیت» همواره یک تعریف کلی نیست، و این به شما بستگی دارد که میزان آن را انتخاب کنید. اگر نمیتوانید لیستی از پوشههای سطح بالا را ارائه دهید، میتوانید از کاربران محصول خود درباره بخشهای اصلی تشکیل دهنده آن بپرسید و از الگوی ذهنی آنها به عنوان یک برنامه کار استفاده کنید.
دسته بندی بر اساس نوع فایل
یکی دیگر از روشهای ساختمند کردن پروژهها، دسته بندی فایلهای مشابه با یکدیگر است، برای مثال:
api/
APIUtils.js
APIUtils.test.js
ProfileAPI.js
UserAPI.js
components/
Avatar.js
Avatar.css
Feed.js
Feed.css
FeedStory.js
FeedStory.test.js
Profile.js
ProfileHeader.js
ProfileHeader.css
برخی افراد نیز ترجیح میدهند پا را فراتر بگذارند، و کامپوننت ها را بر اساس وظیفهشان در اپلیکیشن در پوشه های متفاوت، مجزا کنند. برای مثال طراحی اتمی یک متودولوژی طراحی میباشد که بر اساس این اصل ساخته شدهاست. به یاد داشته باشید، این امر که چنین متودولوژی هایی را به عنوان مثالهای مفید در نظر بگیریم اغلب سازندهتر است، به جای اینکه به عنوان قوانین سختگیرانه آنها را رعایت کنیم.
از تودرتویی زیاد بپرهیزید
نقاط ضعف بسیاری مرتبط با تودرتویی عمیق دایرکتوری در پروژههای جاوا اسکریپت وجود دارد. این باعث میشود تا نوشتن ایمپورتهای (import) مرتبط بین آنها یا بروز رسانی ایمپورتها زمانی که فایلها جابهجا شوند دشوارتر شود. مگر اینکه دلیلی بسیار قانع کننده برای استفاده از یک ساختار تودرتوی عمیق داشته باشید. در نظر بگیرید که حداکثر خود را به سه یا چهار پوشه تو در تو در میان یک پروژه محدود کنید. البته این تنها یک پیشنهاد است و ممکن است به پروژه شما مرتبط نباشد.
بیش از حد به آن فکر نکنید
اگر تازه شروع به انجام یک پروژه کردید، بیش از پنج دقیقه بر انتخاب یک ساختار فایل اختصاص ندهید. یکی از راهکار های بالا را انتخاب کنید (یا بر اساس روش خود عمل کنید) و شروع به نوشتن کد کنید، پس از نوشتن مقداری کد واقعی، خواهید توانست تا در مورد آن تجدید نظر کنید.
اگر احساس میکنید کاملا گیر کردهاید، با نگه داشتن تمامی فایلها در یک پوشه شروع کنید. در نهایت آنها به قدری زیاد میشوند که شما میخواهید برخی از فایل ها را از بقیه جدا کنید. در آن زمان شما دانش کافی خواهید داشت تا بگویید کدام فایلها را بیشتر با هم ویرایش میکنید. به طور کلی ایده خوبی است که فایلهایی را که اغلب با هم تغییر میکنند، نزدیک یکدیگر نکه دارید. این اصل «تجمع» نامیده میشود.
با بزرگتر شدن پروژه ها، آنها اغلب در عمل از ترکیبی از هر دو روش بالا استفاده میکنند. بنابراین انتخاب «شیوه درست» در ابتدا خیلی مهم نیست.