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ů:
- Vytvořte balíček
shared-typesuvnitř složkypackagesve vašem monorepu - V souboru
package.jsonbalíčkushared-typesdefinujte, kde se nacházejí typy:
{
"name": "shared-types",
"version": "1.0.0",
"main": "./index.js",
"types": "./index.ts",
"dependencies": {
"typescript": "latest"
}
}
- Přidejte závislost
shared-typesdo aplikací, které ji potřebují
"dependencies": {
...
"shared-types": "*"
},
- 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í.
