34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# فرانتاند گروه ساختمانی آرامش
|
|
|
|
سایت React + Vite + Tailwind — تمام متنها و تصاویر از بکاند (`GET /api/site`) خوانده میشود.
|
|
|
|
## اجرا
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
در حالت توسعه، Vite درخواستهای `/api` و `/media` را به Traefik (پورت ۵۱۷۳) پروکسی میکند —
|
|
پس استک Docker باید در حال اجرا باشد. آدرس بکاند در `src/config.ts` از `VITE_API_URL`
|
|
خوانده میشود؛ پیشفرض خالی یعنی درخواستهای هممبدأ.
|
|
|
|
## ساخت
|
|
|
|
بیلد روی هاست انجام میشود (کانتینر فقط با Caddy فایلهای `dist/` را سرو میکند):
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
> نکته: بکاند برای تزریق متای سئو در صفحات `/blog` و `/projects` همین پوشه `dist/` را
|
|
> (در compose به `/srv/frontend` سوار است) میخواند — بعد از هر تغییر فرانت، `npm run build`
|
|
> و سپس ریاستارت بکاند کافی است.
|
|
|
|
## بخشهای کلیدی
|
|
|
|
- `src/api.tsx` — بارگذاری داده سایت و ادغام پیشنویس مقالهها برای ادمین
|
|
- `src/admin/` — لایه ویرایش زنده (دوقلوی دیجیتال): نوار مدیریت، کشوی موجودیتها، صفحه نوشتن مقاله
|
|
- `src/seo.ts` — تگهای title / description / OG / canonical / JSON-LD هر صفحه
|
|
- `src/data/site.ts` — انواع داده مشترک
|