محیط توسعه
پروژه با Vite اجرا میشود: تغییر در SCSS، JS یا HTML بلافاصله بدون رفرش کامل اعمال میشود و مسیر صفحات تمیز است.
اجرای پروژه
npm run dev -- --host 0.0.0.0 --port 5173| باگ رایج | علت و راهحل |
|---|---|
| استایلها در حالت توسعه اعمال نمیشوند | Vite فایل .scss را بهصورت ماژول JS سرو میکند؛ در src/partials/head.html لینک با ?direct نوشته شده تا مستقیم با Content-Type: text/css سرو شود |
مسیر /dashboards/analytics.html خطای ۴۰۴ میدهد | میانافزار توسعه در tools/nova-plugin.mjs مسیر تمیز را به src/pages/** نگاشت میکند؛ بعد از افزودن صفحه جدید یکبار سرور را ریاستارت کنید |
ساختار کار در روزمره
- صفحه جدید؟ در
tools/manifest.mjsیک آیتم به سایدبار اضافه کنید وnpm run gen:pagesبگیرید. - کامپوننت جدید؟ فایل SCSS را در
src/scss/components/بسازید و بهsrc/scss/main.scssوصل کنید. - رفتار جدید؟ منطق را در
src/js/core/(عمومی) یاsrc/js/pages/(مخصوص یک بخش) بنویسید. - داده جدید؟ در
src/data/اضافه کنید و از طریقsrc/services/مصرف کنید؛ هرگز در کنترلکننده داده خام ننویسید.
جریان ساخت
tools/build-pages.mjs → src/pages/**.html (۲۰۶ صفحه)
tools/gen-assets.mjs → public/assets/** (لوگو، آواتار، محصول، برند)
tools/gen-nav.mjs → src/data/navigation.js + public/sitemap.xml
vite build → dist/assets/{css,js,fonts}
tools/flatten-dist.mjs → مرتبسازی نهایی dist/ و اصلاح مسیرهای نسبیsrc/pages/** را دستی ویرایش نکنید؛ این فایلها در هر ساخت بازنویسی میشوندبرای محتوای اختصاصی، فایل همنام را در src/partials/pages/<مسیر صفحه>.html بسازید.
کنترل کیفیت
npm run qa:links # لینکهای شکسته، فایلهای گمشده، کلاسهای بدون استایل، دسترسپذیری، SEO
npm run qa:smoke # راهاندازی واقعی کنترلکنندهها در DOM شبیهسازیشدهخروجی qa:links روی پوشه dist/ کار میکند؛ پس اول npm run build بگیرید. qa:smoke نیازی به مرورگر ندارد و ۱۴۲ سناریوی صفحه را اجرا میکند.
استانداردهای کد
- ماژولهای ES با
import/export؛ بدونvar، بدون jQuery و بدون متغیر جهانی خارج ازwindow.NOVA. - CSS با ویژگیهای منطقی (
inset-inline,margin-block) — هرگزleft/rightمستقیم. - نامگذاری BEM سبک:
.block,.block__element,.block--modifier. - هر تابع یک کار؛ توضیح با کامنت کوتاه در بالای فایل.
- متنهای رابط کاربری از
src/locales/**خوانده میشوند؛ رشته فارسی داخل JS فقط برای داده نمونه مجاز است.
افزودن وابستگی
npm install chartjs-plugin-annotationسپس در vite.config.js در صورت نیاز به manualChunks اضافه کنید و در src/js/core/charts.js مقداردهی اولیه کنید. تعداد وابستگیها را کم نگه دارید؛ همه کامپوننتهای اصلی دستساز هستند.
دیباگ
window.NOVAدر کنسول: دسترسی به سرویسها، تم، چیدمان،NOVA.data('orders', { perPage: 5 })وNOVA.url('users/list.html').Ctrl + Kبرای پالت فرمانها،Ctrl + /برای میانبرها.- برای شبیهسازی خطای شبکه،
mockErrorsرا درsrc/config/config.jsروشن کنید.