javascript - Πώς να προσθέσετε ένα εσωτερικό πακέτο για τύπους με Turborepo;


Προσπαθώ να δημιουργήσω ένα εσωτερικό πακέτο για το Monorepo μου βασισμένο στο Turborepo. Τρέχω Nuxt 3 με Tailwind. Τώρα το πρόβλημά μου είναι ότι προσπαθώ να δημιουργήσω ένα προσαρμοσμένο πακέτο για τύπους. Προσπάθησα να ακολουθήσω τον οδηγό στο https://turbo.build/repo/docs/handbook/sharing-code/internal-packages αλλά αυτό δεν λειτούργησε καθόλου. Δοκίμασα μερικά άλλα πράγματα αλλά τίποτα δεν πέτυχε.

Έχει κάποιος έναν λεπτομερή οδηγό που θα μπορούσα να ακολουθήσω για να δημιουργήσω ένα πακέτο Internal Types για τα interfaces του TypeScript μου ώστε να μπορώ να τα χρησιμοποιώ σε όλο μου το φάκελο App Web και στους φακέλους packages/ui components; (Επίσης χρησιμοποιώ PNPM)

Έχω προσπαθήσει να ακολουθήσω τον οδηγό πολλές φορές, δεν λειτούργησε ποτέ. Επίσης προσπάθησα να προσθέσω τα interfaces TypeScript μέσω της επιλογής tsconfig include, αλλά ούτε αυτό λειτούργησε (πιθανώς έκανα πολλά πράγματα λάθος).

Απάντηση #1

Το προσαρμοσμένο πακέτο σας για types θα είναι πολύ παρόμοιο με το ui ή οποιοδήποτε άλλο πακέτο.

Βήματα προς ακολούθηση:

  1. Δημιουργήστε έναν φάκελο my-types μέσα στο φάκελο packages.
  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 σε αυτό.