typescript - Hvordan flytter man globale genanvendelige typer til pakke-typer i turborepo?
For enhver app i apps har jeg brug for en global.d.ts, der har nogle typer som dette
interface Window{
analytics: any;
}
Det skal være genanvendeligt og flyttet til packages/types og kan bruges overalt i apps.
Jeg flyttede Window-typen til packages/types, men globale typer virkede ikke, når de blev importeret i apps.
Svar #1
At sætte dette korrekt op kræver nogle få trin:
- Opret en
shared-typespakke inde ipackagesmappen i dit monorepo - I
package.jsonforshared-types, definer hvor typerne er placeret:
{
"name": "shared-types",
"version": "1.0.0",
"main": "./index.js",
"types": "./index.ts",
"dependencies": {
"typescript": "latest"
}
}
- Tilføj
shared-types-afhængigheden til de apps, der har brug for den
"dependencies": {
...
"shared-types": "*"
},
- Importér de typer, du har brug for
import { MyType } from "shared-types";
Se disse afsnit om Deling af kode og Interne pakker i Turborepo-dokumentationen for flere detaljer.
