الإصدار

ابنِ التطبيق، واضبط البيانات الوصفية وانشر ⁦Acme Deploys⁩.

يعمل تطبيق هذا الفصل في وحدة التحكم. افتحها باستخدام ⌘⌥JCtrl+Shift+J⌘⌥KCtrl+Shift+K⌘⌥C (فعّل ميزات المطوّرين أولًا)، ثم جرّبه.
مشاهدة الفصل3:04

في هذا الفصل

  • البناء
  • Metadata
  • الاستضافة الثابتة
  • قبل النشر

ينتج الأمر text build عميلًا ثابتًا، وخادمًا للأمر text start إذا كانت لديك معالجات مسارات.

البناء

bun run build
   ▼ Text.js 1.0.1 (Turbolog)   Creating an optimized console production build... ✓ Compiled successfully in 0.8s ✓ Collecting route data ✓ Generating static console cells (3/4) ✓ Prerendering console shells (3/3) ✓ Prerendering curl frames (3/3) ✓ Finalizing console optimizationRoute (app)                              Type       Target┌ ○ /                                    Static     console.log (%c)├ ○ /_not-found                          Static     console.log (%c)├ ○ /deployments                         Static     console.log (%c)├ ƒ /deployments/[id]                    Dynamic    console.log (%c)├ ○ /settings                            Static     console.log (%c)└ ƒ /api/deployments                     Dynamic    Route Handler+ First Load JS shared by all             698.2 kB (241.6 kB gzip)○  (Static)   prerendered as static console cellsƒ  (Dynamic)  on-demand console reconciliation

يقدّم الأمر text start ناتج البناء ويشغّل معالجات المسارات. يعمل على أي مضيف تتوفر فيه ⁦Bun 1.2+⁩ أو ⁦Node.js 22+⁩.

Metadata

حدّد عنوان علامة تبويب المتصفح في التخطيط الجذري. يمكن للصفحات تجاوزه.

app/deployments/page.tsx+1tsx
المضاف: export const metadata = { title: "Deployments" }; // → "Deployments · Acme"

الاستضافة الثابتة

دون معالجات مسارات، يكون ناتج البناء موقعًا ثابتًا عاديًا. يحصل كل مسار ثابت على ملف HTML خاص به. تُقدَّم المسارات الديناميكية مثل /deployments/[id] عبر index.html.

على Vercel و ⁦Cloudflare Pages⁩، يكتشف الأمر text build المنصة ويكتب الإعداد الاحتياطي بنفسه. تحتاج خدمات الاستضافة الثابتة الأخرى إلى قاعدة لإعادة الكتابة. على Netlify، أضف ملف _redirects إلى public/:

public/_redirects+1text
المضاف: /*  /index.html  200

تقدّم Netlify الملفات الموجودة قبل تطبيق القاعدة، فلا تتأثر الأصول والمسارات المعروضة مسبقًا.

قبل النشر

  • عطّل الاحتفاظ بالسجلّ في إعدادات وحدة التحكم. يحتاج المستخدمون إلى تعطيله أيضًا.
  • اختبر المقاسات الضيقة مثل ⁦80×24⁩. يعطي إرساء DevTools على الجانب شبكة ضيقة.
  • شغّل bun test.

اضغط Enter في وحدة التحكم للنشر. ثم احصل على شهادتك.

جرّبه

هذا تطبيق Acme Deploys في نهاية الفصل، يعمل في DevTools. انقر اللوحة، ثم استخدم المفاتيح أدناه.

▼ 10 · الإصدار

فتح وحدة التحكم

⌘⌥J
CtrlShiftJ
⌘⌥K
CtrlShiftK
⌘⌥C

يُعرض التطبيق في DevTools.فعّل أولًا «إظهار الميزات لمطوري الويب» في إعدادات Safari → متقدم. ثم انقر هنا واضغط Enter.

الفتح على حاسوب مكتبي

يُعرض هذا التطبيق في وحدة تحكم DevTools، التي تتطلب متصفحًا على حاسوب مكتبي.

اختبار

2 سؤالان

أجب عن كل سؤال لإكمال الفصل.

ماذا يحتاج المضيف الثابت للمسارات الديناميكية؟

 

أي إعداد لوحدة التحكم يجب تعطيله؟