typescript - Bagaimana untuk memindahkan jenis global yang boleh digunakan semula ke jenis pakej dalam turborepo?
Untuk mana-mana aplikasi dalam apps, saya memerlukan global.d.ts yang mempunyai beberapa jenis seperti ini
interface Window{
analytics: any;
}
Ia perlu boleh digunakan semula dan dipindahkan ke packages/types serta boleh digunakan di mana-mana dalam aplikasi.
Saya memindahkan jenis Window ke packages/types tetapi jenis global tidak berfungsi semasa mengimport dalam aplikasi.
Jawapan #1
Menetapkan ini dengan betul memerlukan beberapa langkah:
- Buat satu pakej
shared-typesdi dalam folderpackagesdalam monorepo anda - Dalam
package.jsonbagishared-types, nyatakan di mana jenis-jenis itu berada:
{
"name": "shared-types",
"version": "1.0.0",
"main": "./index.js",
"types": "./index.ts",
"dependencies": {
"typescript": "latest"
}
}
- Tambah kebergantungan
shared-typeskepada aplikasi yang memerlukannya
"dependencies": {
...
"shared-types": "*"
},
- Import jenis yang anda perlukan
import { MyType } from "shared-types";
Lihat bahagian Kod Perkongsian dan Pakej Dalaman dalam dokumentasi Turborepo untuk maklumat lebih lanjut.
