typescript - TypeScript export an imported object
问题描述
Why can I not do this in TS?
import * as Module from './someplace'
export {
Module.Thing as Thing
}
And is there some way I can? It doesn't seem like you are allowed to export with dot notation, and I don't understand why.
解决方案
这不起作用的原因是export { A as B } from './c'
语法需要命名导出。这些命名的导出可以是您程序中的显式名称,也可以是default
. Module.Thing
不是导入文件的命名导出,是对象的属性Module
。
您提出的语法确实不错,但这不是打字稿编译器实现的语法。
这里import *
无所谓。即使Thing
由 导出./someplace
,在导入之后,它也是一个对象。
但是有几个选项取决于对您的代码库的其余部分最有意义的选项。
您只能从导出它的文件中重新导出您想要的命名导出。但是你没有import *
在那个文件中得到使用。
export { Thing } from './someplace
或者,您始终可以导出一个const
已分配的任何您想要的内容。这可能最接近您的初衷。
import * as Module from './someplace'
export const Thing = Module.Thing
推荐阅读
- python - 无法从 Pycharm 中的 pychon 控制台运行,但可以运行脚本
- python - Yolo 训练显示错误注释:x = 0,y = 0
- entity-framework-core - 为什么 ef core 填充实体列表的相关数据,但对单个实体不这样做
- next.js - 使用 NextJs 和样式化组件加载缓慢的应用程序
- flutter - 如何在卡片内添加与卡片高度相同的 RaisedButton?
- jquery - 带参数的动态创建的订单项上的事件绑定
- javascript - 承诺顺序错误
- java - 从视图中选择并插入表 Spring JPA
- reinforcement-learning - 使用大众为奖励分配添加噪音
- node.js - 如何在没有 maxAge 的 redis node.js 中设置会话到期日期?