ساختار فایل
آیا روش پیشنهادی برای ساختار پروژههای ریاکت وجود دارد؟
ریاکت درباره اینکه شما چگونه فایلها را در پوشه قرار میدهید نظری ندارد. چند رویکرد رایج در اکوسیستم وجود دارد که ممکناست بخواهید آنها را در نظر بگیرید.
دسته بندی بر اساس قابلیتها یا مسیرها
یک روش متداول برای ساختار پروژهها، قرار دادن 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
برخی افراد نیز ترجیح میدهند پا را فراتر بگذارند، و کامپوننت ها را بر اساس وظیفهشان در اپلیکیشن در پوشه های متفاوت، مجزا کنند. برای مثال طراحی اتمی یک متودولوژی طراحی میباشد که بر اساس این اصل ساخته شدهاست. به یاد داشته باشید، این امر که چنین متودولوژی هایی را به عنوان مثالهای مفید در نظر بگیریم اغلب سازندهتر است، به جای اینکه قوانین سختگیرانهای را رعایت کنیم.
از لانه سازی زیاد بپرهیزید
بسیاری از نقاط ضعف مرتبط با لانه سازی دایرکتوری عمیق در پروژههای جاوا اسکریپت وجود دارد. این باعث میشود تا نوشتن ورودیهای مرتبط بین آنها دشوارتر شود. یا بروز رسانی ورودیها زمانی که فایلها جابه جا شوند. مگر اینکه دلیلی بسیار قانع کننده برای استفاده از یک ساختار لانه سازی عمیق داشته باشید. در نظر بگیرید که حداکثر خود را به سه یا چهار پوشه تو در تو در میان یک پروژه محدود کنید. البته این تنها یک پیشنهاد است و ممکن است به پروژه شما مرتبط نباشد.
بیش از حد به آن فکر نکنید
اگر تازه شروع به انجام یک پروژه کردید، بیش از پنج دقیقه بر انتخاب یک ساختار فایل اختصاص ندهید. یکی از راهکار های بالا را انتخاب کنید (یا بر اساس روش خود عمل کنید) و شروع به نوشتن کد کنید، پس از نوشتن مقداری کد واقعی، خواهید توانست تا در مورد آن تجدید نظر کنید.
اگر احساس میکنید کاملا گیر کردهاید، با نگه داشتن تمامی فایلها در یک پوشه شروع کنید. در نهایت آنها به قدری زیاد میشوند که شما میخواهید برخی از فایل ها را از بقیه جدا کنید. در آن زمان شما دانش کافی خواهید داشت تا بگویید کدام فایلها را بیشتر با هم ویرایش میکنید. به طور کلی ایده خوبی است که فایلهایی را که اغلب با هم تغییر میکنند، نزدیک یکدیگر نکه دارید. این اصل «تجمع» نامیده میشود.
با بزرگتر شدن پروژه ها، آنها اغلب در عمل از ترکیبی از هر دو روش بالا استفاده میکنند. بنابراین انتخاب «شیوه درست» در ابتدا خیلی مهم نیست.