tsconfig - Hur man använder gränssnitt från en .d.ts-fil utanför det aktuella projektet genom projektreferenser i TypeScript?
Jag är ny på TypeScript. Jag arbetar med ett React-frontend och Express-backendprojekt. Min projektmappstruktur ser ut som följande:
server/
├─ src/
│ ├─ index.d.ts
│ ├─ someFile.ts
├─ tsconfig.json
web/
├─ src/
│ ├─ index.d.ts
├─ tsconfig.json
Jag försöker använda några gränssnitt som deklarerats i web/src/index.d.ts inuti en fil i server/src/someFile.ts. Jag har tittat på TypeScript-projektreferenser men jag är inte säker på hur man använder det. Det jag har gjort just nu är server/tsconfig.json-filen:
{
"compilerOptions": {
...
},
"include": ["src"],
"references": [
{
"path": "../web"
}
]
}
filen web/tsconfig.json:
{
"compilerOptions": {
...,
"composite": true,
"declaration": true,
"declarationDir": "./types",
"declarationMap": true
},
"include": ["src"],
"references": [{ "path": "./tsconfig.node.json" }] // This is from using Vite
}
och slutligen min web/src/index.d.ts-fil:
declare module "web-types" {
export interface Foo {
bar: string
}
}
Nu när jag försöker importera ett gränssnitt från web/src/index.d.ts inuti server/src/someFile.ts som:
import { Foo } from "web-types"
export const someFunction = (param: Foo) => {
...
}
Det ger mig felet: Kan inte hitta modulen 'web-types' eller dess motsvarande typdeklarationer.ts. Hur kan jag fixa detta?