Vyhledávání na webu

typescript - Jak přesunout globální znovupoužitelné typy do balíčků typu v turborepo?


Pro jakoukoli aplikaci v apps potřebuji global.d.ts, který obsahuje některé typy jako tento

interface Window{
    analytics: any;
}

Musí být znovupoužitelné a přesunuto do packages/types a může být použito kdekoli v aplikacích.

Přesunul jsem typ Window do packages/types, ale globální typy nefungovaly při importu v aplikacích.

Odpověď č. 1

Správné nastavení tohoto vyžaduje několik kroků:

  1. Vytvořte balíček shared-types uvnitř složky packages ve vašem monorepu
  2. V souboru package.json balíčku shared-types definujte, kde se nacházejí typy:
{
    "name": "shared-types",
    "version": "1.0.0",
    "main": "./index.js",
    "types": "./index.ts",
    "dependencies": {
        "typescript": "latest"
      }
}
  1. Přidejte závislost shared-types do aplikací, které ji potřebují
 "dependencies": {
    ...
    "shared-types": "*"
  },
  1. Importujte typy, které potřebujete
import { MyType } from "shared-types";

Podívejte se na sekce Sdílení kódu a Interní balíčky v dokumentaci Turborepo pro více podrobností.

Související články