Я создал оболочку ExpressJS для частного репозитория npm, и я хочу экспортировать свою библиотеку и сам expressjs, например:
index.ts
export { myExpress } from './my-express'; // my express wrapper
import * as express from 'express';
export = express; // doesn't works!
как я могу сделать это в машинописном тексте?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема с Express 4 заключается в том, что он использует устаревшее соглашение об экспорте CommonJS, которое несовместимо с модулями ES, оно содержит единственный экспорт (фабрика express()), остальные экспортные параметры определяются как его свойства. Он использует унаследованный синтаксис TypeScript export = ..., поэтому его нельзя повторно экспортировать как модуль ES export * from 'express', а также нельзя использовать синтетический реэкспорт по умолчанию, export { default } from 'express'.
Учитывая, что модуль должен повторно экспортировать экспорт из express и экспорт myExpress из ./my-express, он должен быть:
import * as express from 'express';
export default express;
export { myExpress } from './my-express';
Его можно импортировать как:
import express, { myExpress } from '...';
Для обычного модуля ES * можно реэкспортировать:
export * from 'some-package';
export { myExport } from './my-package';
Спасибо за уведомление. Действительно, модуль содержит устаревший экспорт. Я обновил ответ.
Синтаксис export = express; неверен.
Вы захотите сделать либо:
import { myExpress } from './my-express';
import * as express from 'express';
export {
myExpress,
express
}
или
import { myExpress } from './my-express';
export { myEpxress }
import * as express from 'express';
export { express }
export * from 'express';поднять ошибку ts[ts] Module '"index"' uses 'export =' and cannot be used with 'export *'.