【发布时间】:2016-12-11 22:49:35
【问题描述】:
TL;DR 如何告诉flow 从未使用@flow 声明的导入模块导入类型定义?
加长版
流接缝能够从不使用流语法的文件中派生类型(参见示例)。
示例文件“flow.js”
if(Math.random() < 0.5) {
var y = "hello";
} else {
var y = 2;
}
var i = y;
命令'flow建议flow.js'
if(Math.random() < 0.5) {
- var y = "hello";
+ var y: number | string = "hello";
} else {
- var y = 2;
+ var y: number | string = 2;
}
-var i = y;
+var i: number | string = y;
它还可以使用flow get-importers 列出来自特定文件的所有导入。工具接缝在那里,但我不知道如何自动告诉flow 从我未使用@flow 声明的导入中获取类型定义。
我希望它遍历导入链,计算类型并在标有@flow 的文件中使用它们。我不希望它类型检查代码没有标记@flow,只检索类型。
【问题讨论】:
-
我不太明白,也许可以这段代码;变量 a = 1; console.log(a.constructor.name); var b = eval(a.constructor.name)(a);
-
我没有关注。
-
根据the documentation regarding modules:“Flow 能够为您推断程序中的大多数类型,但是对此规则有一个限制:您必须显式地注释模块的导出。”。
-
@HiDeo ...这就是我要解决的问题:)
标签: javascript flowtype