Unerwarteter Importfehler im Turborepo-Paket
Posted: 06 Jan 2025, 20:27
Ich arbeite an meinem ersten Demoprojekt mit TurboRepo. Es ist geplant, ein Paket mit dem Namen „types internal“ zu erstellen, das Typen sowohl für die Benutzeroberfläche als auch für den Server freigibt. Ich habe diese Schritte befolgt, um das Paket „types“ zu erstellen:
Wenn ich „extends“: „@repo/typescript-config/nextjs.json“ verwende in „extends“, wird ein Fehler ausgegeben, daher habe ich den relativen Pfad verwendet .
Die App funktioniert wie erwartet, aber ich kann diesen TS-Fehler nicht beheben. Ich bin mir nicht sicher, was ich hier übersehe. Könnten Sie mich bitte in die richtige Richtung führen?
TS sollte den Fehler 2307 nicht anzeigen.
Ich habe das Paket „types“ hinzugefügt in einer Web-App wie folgt:
und den Typ wie folgt importieren:
- Ein Verzeichnis mit dem Namen „types in packets erstellt
- Eine package.json-Datei mit folgendem Inhalt erstellt:
Code: Select all
{
"name": "@repo/types",
"type": "module",
"private": true,
"exports": {
".": "./index.ts"
},
"version": "1.0.0",
"main": "./index.ts",
"types": "./index.ts",
"files": [
"./index.ts"
],
"scripts": {
"dev": "tsc --watch"
},
"devDependencies": {
"@types/node": "^20.8.10",
"body-parser": "^1.20.2",
"esbuild": "^0.19.5",
"tsx": "^3.14.0",
"typescript": "^5.5.4",
"@repo/typescript-config": "workspace:*"
},
"dependencies": {
"zod": "^3.22.4"
}
}
- Erstellt eine tsconfig.json-Datei:
Code: Select all
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "../typescript-config/nextjs.json",
"compilerOptions": {
"outDir": "dist"
},
"include": [
"**/*.ts"
],
"exclude": [
"node_modules"
]
}
- Einige Typen zur Datei „packages/types/types/abc.ts“ hinzugefügt. Ich habe auch eine index.ts-Datei unter packets/types/ erstellt, um alles aus der Datei zu exportieren.
Code: Select all
typescript: Cannot find module '@repo/types' or its corresponding type declarations. [2307]
TS sollte den Fehler 2307 nicht anzeigen.
Ich habe das Paket „types“ hinzugefügt in einer Web-App wie folgt:
Code: Select all
"@repo/types": "workspace:*",
Code: Select all
import type { InventoryItem } from "@repo/types";