машинописный текст - как экспортировать все файлы по умолчанию, если вы не знаете о существовании по умолчанию - PullRequest
0 голосов
/ 27 марта 2020

У меня есть файл foo.ts, полученный от пользователя, который может экспортировать или не экспортировать файл по умолчанию (export default function(){}). Я знаю, что могу проанализировать файл, чтобы выяснить, я предпочитаю этого не делать, из соображений производительности и простоты.

Мне нужно создать файл "файл ссылок", который экспортирует все из этого файла "foo", включая по умолчанию и не по умолчанию.

В мире JS это легко: module.exports = require('./foo'); Теперь я могу использовать этот файл ссылок так же, как я использую файл foo. js. они оба экспортируют одни и те же вещи.

В мире TS, однако, если я сделаю export * from './foo', я получу только значение по умолчанию. Чтобы получить значение по умолчанию, я должен добавить export { default } from './foo';.

Проблема в том, что, как я уже говорил ранее, я не знаю, есть ли у foo.ts экспорт по умолчанию, поэтому, если мой файл ссылок всегда имеет export { default } from './foo';, выдает ошибку, если foo не имеет экспорта по умолчанию.

Итак, мой вопрос в основном, что эквивалентно module.exports = require('./foo'); в TS.

1 Ответ

0 голосов
/ 28 марта 2020

Оказалось, я могу сделать export = something, поэтому моя проблема решается следующим образом:

import * as foo from './foo';
export = foo;

также работает следующее

import foo = require('./foo');
export = foo;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...