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