Website-Suche

javascript - Fehler: Modul 'src/entities/Post' kann nicht gefunden werden


also erstelle ich einen GraphQL-Server mit type-graph und mikro-orm. Alles war in Ordnung, bis ich diesen Fehler bekam, der sagt => Fehler: Modul 'src/entities/Post' kann nicht gefunden werden, und dieses Modul existiert, wie du auf diesem Bild sehen kannst: Ordnerstruktur

und so sieht der Fehler im Terminal aus: Fehler im Terminal

Übrigens benutze ich ein Skript namens watch: "tsc -w", um TypeScript in JavaScript zu konvertieren.

Dies ist ein Codebeispiel meines postResolvers:

import { Post } from './src/entities/Post';
import { MyContext } from 'src/types';
import {Ctx, Query, Resolver} from 'type-graphql';

@Resolver()
export class postResolver {
    @Query(()=> [Post])
    posts(@Ctx() {em}: MyContext) : Promise<Post[]>{
        return em.find(Post, {})
    }
}

Es heißt, dass das Modul ./src/entities/Post nicht existiert, obwohl es existiert, und ich weiß wirklich nicht, warum.

Antwort #1

Der schnellste Weg, es zu lösen, wäre die Verwendung von relativen Importen (import { Post } from '../entities/Post') anstelle von absoluten, wie Sie es getan haben.

Eine andere Möglichkeit, Node dazu zu bringen, weiterhin absolute Pfade zu verwenden, besteht darin, Folgendes zu Ihrer tsconfig-Datei hinzuzufügen. Beachten Sie, dass Sie für jedes Verzeichnis auf der 'src'-Ebene, das Sie importieren möchten, einen Pfad hinzufügen müssen.

"compilerOptions": {
  "baseUrl": "src",
  "paths": {
     "src/*": ["src/*"],
     "entities/*": ["src/entities/*"],
     "resolvers/*": ["src/resolvers/*"]
     ...
  },
  ...
}

Oder Sie könnten ein Paket wie dieses verwenden, das in Ihren devDependencies installiert ist

Verwandte Artikel