Ошибка машинописного текста TS2305: при импорте функции не экспортируется элемент

#typescript #typescript-module-resolution

Вопрос:

У меня есть 2 файла TS, Затем экспортируйте только функции (без клиссов, интерфейсов и т. Д.), Например:

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

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

и я создал бочку index.ts :

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

Теперь я хотел использовать его в другом файле TS, просто импортировав их func1() и func2() :

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

Но здесь я получаю ошибку:

TS2305: Модуль не имеет экспортированного элемента ‘func1’

и то же самое для func2.

Чего мне не хватает?

Обновить

Я создал стекблитц — и он там работает! Но не в проекте.

ОБНОВЛЕНИЕ 1

Если я изменю import на:

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

это работает.

Комментарии:

1. Я подозреваю, что "<folder-path>" в этом и заключается проблема, но вы опустили значение 😅

2. вы уверены, что ваш паттинг правильный? Я предлагаю попробовать импортировать непосредственно из файла 1.ts и проверить, работает ли это

3. добавлены пути к папке с вопросом. Это действительно работает, когда я импортирую отдельные файлы.

4. Моя версия TS уже жалуется из-за расширений на экспорте: An import path cannot end with a '.ts' extension. Consider importing './file1' instead. ts(2691)

5. TS хочет export * from "./file1.ts"; , чтобы это было так: export * from "./file1"; , поэтому .ts расширения файла нет.