مهاجرت و بهروزرسانی
این بخش برای وقتی است که نسخه جدیدی از قالب میگیرید و میخواهید بدون از دست دادن تغییرات خودتان ارتقا دهید.
قبل از شروع
- از پروژه خود یک شاخه بسازید:
git checkout -b upgrade/novaadmin-1.1 - فهرست تغییرات خودتان را بنویسید (کدام فایلها را دست زدهاید؟).
npm run qa:allرا روی وضعیت فعلی اجرا کنید تا مطمئن شوید نقطه شروع سالم است.
فایلهایی که در نسخه جدید بازنویسی میشوند
| مسیر | وضعیت | توصیه |
|---|---|---|
src/pages/** | تولیدشده | هرگز ویرایش نکنید |
src/locales/generated.js | تولیدشده | هرگز ویرایش نکنید |
src/data/navigation.js | تولیدشده | هرگز ویرایش نکنید |
src/partials/docs/*.html | تولیدشده از docs/ | بهجای آن docs/*.md (و docs/en، docs/ar) را ویرایش کنید |
public/robots.txt, public/sitemap.xml | تولیدشده | در src/config/config.js تنظیم کنید |
tools/** | ابزار | تغییرات خود را با diff مقایسه کنید |
src/scss/**, src/js/** | منبع | تغییرات خود را نگه دارید و با نسخه جدید ادغام کنید |
روش ارتقا (گامبهگام)
# ۱. نسخه جدید را در پوشهای جدا باز کنید
unzip NOVAADMIN-1.1.0.zip -d /tmp/nova-1.1
# ۲. ابزارها، استایل و اسکریپتها را بهروز کنید
rsync -av --exclude=node_modules /tmp/nova-1.1/tools/ ./tools/
rsync -av /tmp/nova-1.1/src/scss/ ./src/scss/
rsync -av /tmp/nova-1.1/src/js/core/ ./src/js/core/
# ۳. وابستگیها را تازه کنید
npm install
# ۴. صفحهها و داراییها را از نو بسازید
npm run gen:all && npm run build
# ۵. کنترل کیفیت
npm run qa:allمقایسه تغییرات خودتان
اگر پروژه را با گیت نگه میدارید، سادهترین راه این است که تغییرات خود را در چند مسیر محدود نگه دارید:
src/partials/pages/** بدنههای اختصاصی
src/js/pages/** کنترلکنندههای اختصاصی
src/data/** دادههای واقعی شما
src/config/config.js برند و پیشفرضها
src/scss/base/_palettes.scss پالت سازمانیهر تغییری بیرون از این فهرست را در فایل UPGRADE-NOTES.md پروژه خودتان ثبت کنید تا در ارتقا یادتان بماند.
تغییرات شکننده را چطور بفهمم؟
| نشانه | معنی | کار |
|---|---|---|
| خطای import در کنسول | نام یا مسیر فایل تغییر کرده | با git log تفاوت را ببینید و مسیر را اصلاح کنید |
| کلاس بیاستایل | کلاس حذف یا تغییرنام یافته | npm run qa:links لیست را میدهد |
توکن {{...}} در خروجی | توکن جدید اضافه شده | نقشه توکنهای tools/nova-plugin.mjs را بهروز کنید |
| انیمیشن یا رفتار دوگانه | دو نسخه از یک ماژول بار شده | import تکراری را حذف کنید |
بازگشت به عقب
git checkout -- .
# یا
git reset --hard upgrade/novaadmin-1.0 # اگر شاخه را قبل از ارتقا ساخته باشیدnpm run build بگیرید و خروجی dist/ را نگه دارید؛ اگر مشکلی پیش آمد، همان خروجی را میتوانید روی هاست بگذارید تا فرصت بررسی داشته باشید