typescript - Hvordan flytte globale gjenbrukbare typer til pakker-typen i turborepo?


For enhver app i apps, trenger jeg en global.d.ts som har noen typer som dette

interface Window{
    analytics: any;
}

Den må være gjenbrukbar og flyttet til packages/types og kan brukes hvor som helst i apper.

Jeg flyttet Window-typen til packages/types, men globale typer fungerte ikke ved import i apper.

Svar #1

Å sette dette opp riktig krever noen få trinn:

  1. Opprett en shared-types-pakke inne i packages-mappen i monorepoet ditt
  2. I package.json for shared-types, definer hvor typene er plassert:
{
    "name": "shared-types",
    "version": "1.0.0",
    "main": "./index.js",
    "types": "./index.ts",
    "dependencies": {
        "typescript": "latest"
      }
}
  1. Legg til shared-types-avhengigheten til appene som trenger den
 "dependencies": {
    ...
    "shared-types": "*"
  },
  1. Importer typene du trenger
import { MyType } from "shared-types";

Se seksjonene for Delingskode og Interne Pakker i Turborepo-dokumentasjonen for mer informasjon.

Relaterte artikler