ساخت و انتشار
خروجی قالب یک پوشه استاتیک است: هر فایل HTML یک صفحه مستقل، یک فایل CSS و چند فایل JS. روی هر هاست سادهای اجرا میشود.
ساخت خروجی
npm run buildزنجیره ساخت به ترتیب زیر اجرا میشود و همه مراحل باید سبز باشند:
node tools/build-pages.mjs --mode build— خواندنtools/manifest.mjsو تولید ۲۰۶ صفحه درsrc/pages/node tools/gen-assets.mjs— تولید لوگو، ۲۴ آواتار، ۲۴ تصویر محصول و ۱۲ لوگوی برند بهصورت SVGnode tools/gen-nav.mjs— تولیدsrc/data/navigation.js،public/sitemap.xmlوpublic/robots.txtvite build— باندل کردن CSS، JS و فونتها درdist/node tools/flatten-dist.mjs— انتقالdist/src/pages/**به ریشهdist/و اصلاح مسیرهای نسبی
dist/ را دستی جابهجا نکنیدمرحله flatten-dist این کار را انجام میدهد و مسیر همه داراییها را با عمق جدید هماهنگ میکند.
نتیجه ساخت
dist/
├── index.html صفحه محصول
├── widgets.html, preview.html صفحههای سطح ریشه
├── dashboards/*.html ۱۰ داشبورد
├── apps/ ai/ crm/ ecommerce/ finance/ hr/ logistics/ …
├── assets/css/modules-<hash>.css
├── assets/js/{modules,content,ai,apps,kit,vendor-*}-<hash>.js
├── assets/fonts/Vazirmatn-*.woff2
├── assets/img/{avatars,products,brands}/
├── robots.txt
└── sitemap.xmlاندازه خروجی حدود ۲۴ مگابایت است که بیشتر آن آواتارها و تصاویر SVG و نمودارها است.
پیشنمایش خروجی
npm run preview -- --port 4173انتشار روی هاست
۱) هاست اشتراکی / cPanel
محتوای پوشه dist/ را در public_html آپلود کنید. تمام شد.
۲) Netlify / Vercel / Cloudflare Pages
| تنظیم | مقدار |
|---|---|
| Build command | npm run build |
| Publish directory | dist |
| Node version | ۱۸ یا بالاتر |
۳) GitHub Pages
npm run build
npx gh-pages -d distاگر سایت در زیرمسیر منتشر میشود (user.github.io/repo/)، لینکها نسبی هستند و مشکلی پیش نمیآید؛ فقط website را در src/config/config.js برابر آدرس نهایی بگذارید تا sitemap.xml درست تولید شود.
۴) Nginx (نمونه)
server {
listen 80;
root /var/www/novaadmin;
index index.html;
location /assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
location / {
try_files $uri $uri.html $uri/ =404;
}
}هدرهای پیشنهادی کش
| مسیر | سیاست |
|---|---|
assets/** | ۱ سال، immutable (نام فایلها هش دارند) |
**.html | بدون کش یا must-revalidate |
sitemap.xml, robots.txt | ۱ روز |
چکلیست پیش از انتشار
npm run qa:allسبز است (ساخت + لینکها + اجرای کنترلکنندهها)- در
src/config/config.jsمقادیرappName،tagline،website،supportEmailوdefaultLanguageنهایی شدهاند - صفحات خطای هاست (۴۰۴) به
system/404.htmlهدایت شدهاند sitemap.xmlآدرس دامنه نهایی را دارد- فایل
LICENSE.txtو اعتبارها حفظ شدهاند