جاوااسکریپت - چگونه یک بسته داخلی برای تایپها با Turborepo اضافه کنیم؟


من سعی کردهام یک پکیج داخلی برای Monorepo خودم بر اساس Turborepo ایجاد کنم. من Nuxt 3 را با Tailwind اجرا میکنم. اکنون مشکل من این است که سعی دارم یک پکیج سفارشی برای تایپها ایجاد کنم. من سعی کردم دستورالعمل موجود در https://turbo.build/repo/docs/handbook/sharing-code/internal-packages را دنبال کنم اما اصلاً کار نکرد. من چند کار دیگر هم امتحان کردم اما هیچکدام نتیجه نداد.

آیا کسی یک راهنمای دقیق دارد که بتوانم برای ایجاد یک بسته Internal Types برای اینترفیسهای Typescript خود دنبال کنم تا بتوانم از آنها در پوشه App Web و پوشه packages/ui components خود استفاده کنم. (همچنین از PNPM استفاده میکنم)

من چندین بار سعی کردهام که دستورالعمل را دنبال کنم، اما هرگز جواب نداد. من همچنین سعی کردم رابطهای TypeScript را از طریق گزینه include در tsconfig اضافه کنم، اما آن هم کار نکرد (احتمالاً کارهای زیادی را اشتباه انجام دادهام).

پاسخ شماره ۱

بسته سفارشی شما برای types بسیار شبیه به ui یا هر بسته دیگری خواهد بود.

مراحل دنبال کردن:

  1. داخل پوشه packages یک پوشه my-types ایجاد کنید.
  2. یک پوشه src ایجاد کنید و فایلهای نوع خود را در آن اضافه کنید. به عنوان مثال my-type-a.ts و my-type-b.ts
  3. فایل index.ts را در ریشه بسته my-types اضافه کنید تا همه فایلهای تایپ را صادر کند. فقط export * from "./src" را در آن اضافه کنید.
  4. یک فایل package.json ایجاد کنید. main و types فایل منبع را در آن اضافه کنید. مانند این

👉👉👉 حالا میتوانید تایپها را در بستهها و برنامههای دیگر خود وارد کنید. کافی است این بسته جدید my-types را در وابستگیها اضافه کنید و قادر خواهید بود types یا interfaces را در آن وارد کنید.