typescript - Hur flyttar man globala återanvändbara typer till paketets typ i turborepo?


För vilken app som helst i apps behöver jag en global.d.ts som har några typer som dessa

interface Window{
    analytics: any;
}

Den behöver vara återanvändbar och flyttad till packages/types och kan användas var som helst i appar.

Jag flyttade Window-typen till packages/types men globala typer fungerade inte vid import i appar.

Svar #1

Att ställa in detta korrekt kräver några steg:

  1. Skapa ett shared-types-paket inuti packages-mappen i din monorepo
  2. I package.json för shared-types, definiera var typerna är placerade:
{
    "name": "shared-types",
    "version": "1.0.0",
    "main": "./index.js",
    "types": "./index.ts",
    "dependencies": {
        "typescript": "latest"
      }
}
  1. Lägg till shared-types-beroendet till de appar som behöver det
 "dependencies": {
    ...
    "shared-types": "*"
  },
  1. Importera de typer du behöver
import { MyType } from "shared-types";

Se avsnitten Delningskod och Interna paket i Turborepo-dokumentationen för mer information.

Relaterade artiklar