dg.run

الزامات بسته

آنچه ثبت می‌کنید یک فایل zip از یک برنامه وب ایستا است. این قواعد هنگام بارگذاری بررسی می‌شوند.

محتوای فایل zip

  • یک فایل index.html در ریشه zip. اگر zip فقط یک پوشه بیرونی داشته باشد (مثلاً dist/)، آن پوشه برای شما حذف می‌شود.
  • فقط فایل‌های ایستا: HTML، جاوااسکریپت، CSS، تصویر، قلم، JSON، WebAssembly و مانند آن. کد سمت سرور وجود ندارد.

محدودیت‌ها

محدودیت مقدار
اندازه فایل zip ۲۵ مگابایت
اندازه پس از باز کردن ۶۰ مگابایت
تعداد فایل‌ها ۲۰۰۰
تعداد برنامه برای هر حساب ۵

مسیرهای ردشده

بسته در این موارد رد می‌شود:

  • مسیرهایی با ..، مسیرهای مطلق، یا بک‌اسلش در نام فایل‌ها؛
  • پوشه‌ای به نام _next، _vercel یا _dg در ریشه. این مسیرها روی هر نشانی متعلق به پلتفرم‌اند و برنامه شما هرگز نمی‌تواند آن‌ها را بارگذاری کند (_dg جای ورود و پایگاه داده است). اگر فریم‌ورک شما فایل‌ها را در _next/ می‌گذارد، آن را طوری تنظیم کنید که از پوشه دیگری مثل assets/ استفاده کند.

فایل‌هایی مثل __MACOSX/ و .DS_Store نادیده گرفته می‌شوند.

انتخاب زیردامنه

زیردامنه نشانی برنامه شماست و پس از انتخاب ثابت می‌شود. برای تغییر آن، برنامه را حذف کنید و دوباره ثبت کنید.

  • ۳ تا ۳۰ نویسه، شامل حروف کوچک لاتین a-z، ارقام و خط تیره.
  • نمی‌تواند با خط تیره شروع یا تمام شود و دو خط تیره پشت سر هم هم نمی‌تواند داشته باشد.
  • برخی نام‌ها رزرو شده‌اند، مثل www، api، admin، docs و login.
  • نباید قبلاً گرفته شده باشد.

فایل‌های شما چگونه ارائه می‌شوند

  • فقط به درخواست‌های GET و HEAD پاسخ داده می‌شود. برنامه شما ایستا است.
  • مسیری که پسوند فایل ندارد و با هیچ فایلی مطابقت ندارد، index.html را برمی‌گرداند؛ پس مسیریابی سمت کلاینت کار می‌کند.
  • فایل‌های داخل پوشه assets/ یک سال به‌صورت تغییرناپذیر (immutable) کش می‌شوند. در آنجا از نام فایل‌های هش‌دار استفاده کنید؛ باندلرهایی مثل Vite به‌طور پیش‌فرض همین کار را می‌کنند.
  • بقیه فایل‌ها، از جمله index.html، sw.js و manifest، در هر بارگذاری دوباره اعتبارسنجی می‌شوند تا به‌روزرسانی‌ها به کاربران برسند.

برنامه شما در ریشه نشانی خودش اجرا می‌شود

هر برنامه از ریشه زیردامنه خودش ارائه می‌شود، نه از یک زیرمسیر. مسیر پایه (base) build را روی / بگذارید (در Vite، base: '/') و از مسیرهای مطلق مثل /assets/app.js یا مسیرهای نسبی استفاده کنید.