typescript :导出命名空间中的所有函数

标签 typescript

假设我有一个带有一堆导出函数的 typescript 文件 Utils:

export function utilOne(){}
export function utilTwo(){}

我将 index.d.ts 文件添加到我从 Utils 文件导出 * 的文件夹中:

export * from './Utils';

在我的其他类中,我想通过 utils 命名空间访问函数 utilOne 和 utilTwo,例如:

utils.utilOne();

我知道我可以这样导入它:

import * as utils from "./Utils";

但是,因为我会经常使用 utils,所以我希望能够在命名空间中导出 utils,例如:

export {* as utils} from './Utils';   // this doesn't work

然后使用:

import * from "./Utils";

但是 export {* as utils} 不起作用。我可以将 Utils 的所有功能放入一个模块“utils”并导出它,但我不确定这是否是一个好习惯。有没有正确的方法来做到这一点?

最佳答案

import * from

没有。即使在支持它们的语言中,全局进口也被认为是不好的做法。 (例如 python Why is "import *" bad? )

JavaScript/TypeScript 不支持它。毕竟,查看 foo.bar 并知道 bar 来自 foo 而不是 bar 并且不知道 bar 的来源是非常有用的来自(无需克隆和分析整个项目)。 🌹

关于 typescript :导出命名空间中的所有函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38168733/

相关文章:

javascript - typescript D3 v4 导入不工作

javascript - 更新搜索结果的计数并根据用户在对象数组中搜索的次数更改选择

typescript - 使用 UMD 构建时如何将 RxJS 与类型定义结合使用?

Angular - 模型和服务之间的区别

使用 Gulp+Browserify 时找不到 Typescript 命名空间

angular - 在 Angular react 形式验证器中使用 google-libphonenumber

node.js - 未捕获( promise ): Error: No provider for GooglePlus

Angular 2 - 过滤管回空

angular - 将大 reducer 拆分为更小的 reducer

angular - 无法读取未定义 Angular 4 的属性 'name'