TypeScript-fejl TS2305: har ikke noget eksporteret medlem ved import af en funktion


Jeg har 2 TS-filer, der kun eksporterer funktioner (ingen klasser, interfaces osv.), for eksempel:

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

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

og jeg oprettede en tønde index.ts:

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

Nu ville jeg bruge det i en anden TS-fil ved simpelthen at importere disse func1() og func2():

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

Men her får jeg fejlen:

TS2305: Modul har ingen eksporteret medlem 'func1'

og det samme gælder for func2.

Hvad mangler jeg?

OPDATER

Jeg har lavet en stackblitz - og det virker der! Men ikke i projektet.

OPDATERING 1

Hvis jeg ændrer import til:

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

det virker.

Svar #1

Jeg havde det samme problem med planetscale-stream-ts-biblioteket. Det viser sig, at det var relateret til compilerOptions.moduleResolution i tsconfig.json.

Når jeg satte det til NodeNext, fik jeg den samme fejl. Men når jeg satte det til Node eller Bundler, forsvandt fejlen.

Da jeg planlægger at bruge tsx til at køre koden, vil jeg bruge Bundler.

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

Relaterede artikler