为什么这个Typescript模块要导入然后重新导出另一个模块?

为什么这个Typescript模块要导入然后重新导出另一个模块?,typescript,module,Typescript,Module,我希望进一步了解以下目的: .lib/mod.ts基本上是: class MyClass { ... } export default MyClass; 这是一种常见的模式吗?它的目的是什么?为什么不在./lib/mod.ts中导出类MyClass{…},然后从./lib/mod.ts中导入{MyClass}?我认为该文件所做的唯一事情是为其他模块提供导入别名。例如,如果这是目录结构: 一些 索引 解放党/ mod.ts 而不是: import MyClass, { other, stuff

我希望进一步了解以下目的:

.lib/mod.ts基本上是:

class MyClass {
...
}

export default MyClass;

这是一种常见的模式吗?它的目的是什么?为什么不在./lib/mod.ts中导出类MyClass{…},然后从./lib/mod.ts中导入{MyClass}?

我认为该文件所做的唯一事情是为其他模块提供导入别名。例如,如果这是目录结构:

一些 索引 解放党/ mod.ts 而不是:

import MyClass, { other, stuff } from './some_dir/lib/mod'
你可以:

import MyClass, { other, stuff } from './some_dir'
或者它可以用于已发布的npm包,其中实现位于子目录中,但作者希望您从包名称导入,而不必提供子目录。例如:

import MyClass, { other, stuff } from 'some-npm-package-name'

啊,npm包的风格是有道理的。您可以将实现放在子目录中,同时仍具有顶级包名导入。谢谢
import MyClass, { other, stuff } from 'some-npm-package-name'