typescript - global olarak yeniden kullanılabilir tipleri turborepo'da paketlerin tipine nasıl taşırız?
apps içindeki herhangi bir uygulama için, benim buna benzer bazı tipleri içeren bir global.d.ts dosyasına ihtiyacım var
interface Window{
analytics: any;
}
Tekrar kullanılabilir olmalı ve packages/types'e taşınmalı ve uygulamalarda her yerde kullanılabilir olmalıdır.
Window türünü packages/types dizinine taşıdım ama uygulamalarda ithal ederken global türler çalışmıyordu.
Cevap #1
Bunu düzgün bir şekilde ayarlamak birkaç adım gerektirir:
- Monoreponuzdaki
packagesklasörü içinde birshared-typespaketi oluşturun - Ortak tiplerin bulunduğu
shared-typespaketindekipackage.jsondosyasında tiplerin nerede bulunduğunu tanımlayın:
{
"name": "shared-types",
"version": "1.0.0",
"main": "./index.js",
"types": "./index.ts",
"dependencies": {
"typescript": "latest"
}
}
- İhtiyacı olan uygulamalara
shared-typesbağımlılığını ekleyin
"dependencies": {
...
"shared-types": "*"
},
- İhtiyacınız olan türleri içe aktarın
import { MyType } from "shared-types";
Daha fazla detay için Turborepo belgelerindeki Paylaşım Kodu ve Dahili Paketler bölümlerine bakın.
