Lin*_*der 8 javascript flowtype
TL; DR如何flow从未声明的导入模块中导入类型定义@flow?
流接缝能够从不使用流语法的文件中派生类型(参见示例).
if(Math.random() < 0.5) {
var y = "hello";
} else {
var y = 2;
}
var i = y;
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
它也可以用来列出特定文件中的所有导入flow get-importers.工具接缝在那里,但我无法弄清楚如何自动告诉flow从我的未声明的导入中获取类型定义@flow.
我希望它遍历导入链,计算类型并在标记为的文件中使用它们@flow.我不希望它的类型检查代码没有标记@flow,只检索类型.
我将你的问题改写为我认为你的意思。
如何为 Flow 不知道的文件创建类型定义?
有两件事:
node_modules等),那么您可以*.js.flow在它旁边创建一个文件来记录其导出。node_modules等),那么您可以在内部创建一个 libdef 文件flow-typed/name-of-library.js对于.js.flow文件,您可以这样编写定义:
// @flow
declare module.exports: { ... }
Run Code Online (Sandbox Code Playgroud)
对于 libdef 文件,您可以这样编写定义:
declare module "my-third-party-library" {
declare module.exports: { ... }
}
Run Code Online (Sandbox Code Playgroud)
希望这能回答你的问题
| 归档时间: |
|
| 查看次数: |
611 次 |
| 最近记录: |