Ответ 1
Обе стратегии разрешения модулей, которые предоставляет tsc, не поддерживают такое поведение. Какой желаемый оператор импорта
import * as mylib from "./source/";
на самом деле состоит в выполнении проверок в следующем порядке:
1. (does package.json have a typings key? If so, import this file)
2. import * as mylib from "./source/index.ts";
3. import * as mylib from "./source/index.tsx";
4. import * as mylib from "./source/index.d.ts";
Я предполагаю, что вы используете здесь node -стильный модуль, который, вероятно, существует с тех пор, как это рекомендуется. Проверьте typescript docs для получения более подробной информации о том, как разрешено разрешение модуля в typescript.
Обычно то, что вы пытаетесь выполнить, - это создать файл index.d.ts
, который служит точкой входа, из которой вы экспортируете остальные модули.
Я использую angular2 в качестве примера:
Общий общий импорт angular2 выглядит следующим образом:
import { Injectable } from '@angular/core'
core
- это просто каталог, который находится внутри каталога @angular
. Также как ваш каталог source
. Однако в основной директории находится файл index.d.ts
:
/**
* @module
* @description
* Starting point to import all public core APIs.
*/
export * from './src/metadata';
export * from './src/util';
export * from './src/di';
....