flow 是一个javascript 的静态检查工具,flow-typed 为我们提供了三方类似type 的生成
安装flow-typed
使用全局安装
yarn global add flow-typednpm install -g flow-typed
参考demo
- 项目结构
├── lib // 输出目录│ ├── api│ │ ├── api.js│ │ └── index.js│ └── user│ └── user.js├── package.json├── src // flow 源码目录│ ├── api│ │ ├── api.js│ │ └── index.js│ └── user│ └── user.js└── yarn.lock
- 主要代码说明
package.json{"name": "second","version": "1.0.0","main": "index.js","license": "MIT","devDependencies": {"babel-cli": "^6.26.0","babel-preset-flow": "^6.23.0","flow-bin": "^0.77.0"},"scripts": {"build": "babel src/ -d lib/","flow": "flow","i": "flow init","start": "node lib/api"},"dependencies": {"shortid": "^2.2.12" // 我们引入的三方类库}}src/user/user.js// @flowconst shortid = require("shortid");function shortid_gen():string{return shortid.generate()}function getinfo(name:string):string {return name;}module.exports={name:"dalong-appdemo",age:33,get:getinfo,id:shortid_gen()}src/api/api.js// @flowconst user = require("../user/user")function call(name:string):string {//return user.get(name)return user.id}module.exports=call
生成类型定义
flow-typed update
效果
![](https://images2018.cnblogs.com/blog/562987/201807/562987-20180728083709802-336072509.png)
![](https://images2018.cnblogs.com/blog/562987/201807/562987-20180728083710678-1755512498.png)
构建&&运行&&结果
- 构建
yarn build
- 运行