TypeScript-feil TS2305: har ikke en eksportert medlem når du importerer en funksjon


Jeg har 2 TS-filer som bare eksporterer funksjoner (ingen klasser, grensesnitt osv.), for eksempel:

// the-folder/file1.ts
export function func1() { ... };

// the-folder/file2.ts
export function func2() { ... };

og jeg opprettet en tønne index.ts:

// the-folder/index.ts
export * from "./file1";
export * from "./file2";

Nå ønsket jeg å bruke det i en annen TS-fil, ved å ganske enkelt importere disse func1() og func2():

// different-folder/some-other-file.ts
import { func1, func2 } from "../the-folder";

Men her får jeg feilen:

TS2305: Modul har ingen eksportert medlem 'func1'

og det samme for func2.

Hva går jeg glipp av?

OPPDATER

Jeg laget en stackblitz - og det fungerer der! Men ikke i prosjektet.

OPPDATERING 1

Hvis jeg endrer import til:

import { func1, func2 } from "../the-folder/index";

det fungerer.

Svar #1

Jeg hadde det samme problemet med planetscale-stream-ts-biblioteket. Det viser seg at det var relatert til compilerOptions.moduleResolution i tsconfig.json.

Når jeg satte den til NodeNext, fikk jeg samme feilen. Men når jeg satte den til Node eller Bundler, forsvant feilen.

Siden jeg planlegger å bruke tsx for å kjøre koden, kommer jeg til å bruke Bundler.

https://www.typescriptlang.org/docs/handbook/modules/guides/choosing-compiler-options.html

Relaterte artikler