اجرای محلی
آیا سرور محلی لازم است؟
نه الزاماً. قالب عمداً طوری ساخته شده که با دابلکلیک و پروتکل file:// هم کار کند:
- دادهی کالاها از
assets/data/products.jsمیآید کهwindow.SUPERIUM_PRODUCTSرا مقدار میدهد - یعنی یک<script>معمولی، نهfetch. بنابراین محدودیت CORS مرورگر برای فایلهای محلی مشکلی ایجاد نمیکند. - فونتها، CSS و JS همه داخل بستهاند.
اما با سرور محلی همهچیز دقیقاً مثل هاست واقعی رفتار میکند و توصیه میشود.
روش ۱ - پایتون (بدون نصب چیز اضافه)
اگر پایتون دارید:
cd superdouper-market
python -m http.server 8000
سپس در مرورگر: http://localhost:8000/demo.html
روش ۲ - VS Code + افزونه Live Server
- افزونهی Live Server را نصب کنید.
- روی
demo.htmlراستکلیک کنید → Open with Live Server. - با هر ذخیرهی فایل، مرورگر خودکار رفرش میشود.
روش ۳ - Node.js
اگر Node نصب دارید:
npx serve .
# یا
npx http-server -p 8000
Node فقط برای همین سرور ساده است. قالب هیچ وابستگی npm ندارد و
package.jsonنمیخواهد.
تفاوتهای file:// با سرور
| مورد | با file:// | با سرور |
|---|---|---|
| صفحات و استایل | کار میکند | کار میکند |
| دادهی کالا و سبد خرید | کار میکند | کار میکند |
| نقشه (کاشی OpenStreetMap) | نیاز به اینترنت | نیاز به اینترنت |
localStorage | کار میکند ولی برای همهی فایلهای محلی مشترک است | مثل سایت واقعی، مخصوص همان دامنه |
مسیرهای مطلق (/assets/...) | کار نمیکند | کار میکند |
قالب همهجا از مسیر نسبی استفاده میکند (
assets/...نه/assets/...) تا هم رویfile://و هم داخل زیرپوشهی هاست کار کند. اگر مسیرها را به مطلق تغییر دادید، دیگر ازfile://باز نمیشود.
ویرایش همزمان با اجرا
هیچ مرحلهی build و watch لازم نیست:
- فایل
.htmlیا.cssرا ویرایش کنید. - ذخیره کنید.
- مرورگر را رفرش کنید (
Ctrl+Shift+Rبرای رد کردن کش).
اگر ترجیح میدهید بهجای فایلهای HTML، مولدهای پایتون را ویرایش کنید، به ابزارهای ساخت بروید.