تخطَّ إلى المحتوى

الربط المحلي

عند تطوير الأطراف الأصلية، كان تعديل الرمز يتطلب انتظار إصدار نسخة من core ثم ترقية التبعية، مما يجعل حلقة التغذية الراجعة طويلة جدًا.

في تخطيط العائلة (جميع المستودعات ضمن الدليل الأصل نفسه)، تقرأ المستودعات الأصلية في التطوير المحلي منتجات dist/ الخاصة بهذا المستودع عبر تحليل محلي مع حراسة للتحقق من الوجود: بعد تعديل الرموز، يكفي إعادة تشغيل pnpm codegen في هذا المستودع ليصبح التغيير فوريًا، دون الحاجة إلى النشر. وعند عدم وجود هذا المستودع (مثل استنساخ مستودع واحد في CI) يتم التراجع تلقائيًا إلى الحزم المنشورة على كل منصة.

آلية الحراسة مماثلة هيكليًا لـ createLocalShareAliases الخاصة بسلالة الويب: يتم التحقق من existsSync(<coreRoot>/dist/android) (لا يُعتبر أن codegen قد شُغِّل في هذا المستودع إلا عند وجود منتجات android)، وإذا لم يوجد، لا يُحقن المسار المحلي.

ينفّذ كل مستودع أصلي ذلك بنفسه، وهذا المستودع لا يفرض شيئًا:

المنصة طريقة الحقن
Android دليل مستودع Maven محلي في Gradle
iOS تبعية مسار محلية عبر SPM
HarmonyOS تبعية file: عبر ohpm
C add_subdirectory في CMake أو مسار الملفات الرأسية
1. تعديل tokens/*.json في هذا المستودع
2. pnpm codegen ← يتحدث dist/ فورًا
3. البناء/التشغيل مباشرةً في المستودع الأصلي ← الرموز الجديدة سارية

سكربت scripts/resolve-local-tokens.mjs هو التنفيذ الفعلي لآلية الحراسة هذه.

  • الربط المحلي متاح فقط في تخطيط العائلة (جميع المستودعات ضمن الدليل الأصل نفسه).
  • يقرأ الربط من dist/، لذا يجب تشغيل codegen أولًا بعد تعديل الرموز.
  • بعد الإصدار، ينبغي للأطراف الأصلية العودة إلى نسخة التبعية الرسمية، تجنّبًا للاعتماد طويل الأمد على المسارات المحلية.

Copyright © 2024-2026 FengMo WenXue