flow 是一个javascript 静态检查的工具,由facebook 开发, 使用起来简单,方便。

安装

  • 项目初始化
 yarn init -y
  • 编译器安装
yarn add --dev babel-cli babel-preset-flow
配置babel
.babelrc
{
"presets": ["flow"]
}
package.json
{
"name": "my-project",
"main": "lib/index.js",
"scripts": {
"build": "babel src/ -d lib/",
"prepublish": "yarn run build"
}
}
设置 flow
yarn add --dev flow-bin 运行 yarn run flow 备注:需要先执行yarn run flow init

简单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.sjon
{
"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"
}
} src/user/user.js
// @flow // 函数定义
function getinfo(name:string):string {
return name;
}
module.exports={
name:"dalong",
age:33,
get:getinfo
}
src/api/api.js
// @flow function call(name:string):string {
const user = require("../user/user")
return user.get("dalong")
}
module.exports=call
src/api/index.js // @flow
const api = require("./api")
console.log(api("dalong"))
  • 构建&&运行
yarn build
yarn start
  • 参考提示

说明

实际使用vscode 需要将系统内部的ts 检查,禁止,同时添加以下插件 ,总的来说还是就表简答,使用比较方便的,
flow-typed 也是一个不错的选择,帮助我们校验三方类库类似ts 的typings

参考资料

https://flow.org/en/docs/libdefs/
https://github.com/flow-typed/flow-typed#readme
https://flow.org/en/docs/getting-started/

 
 
 
 

fackbook flow 简单使用的更多相关文章

  1. 数据结构之网络流入门(Network Flow)简单小节

    网络流的相关定义: 源点:有n个点,有m条有向边,有一个点很特殊,只出不进,叫做源点. 汇点:另一个点也很特殊,只进不出,叫做汇点. 容量和流量:每条有向边上有两个量,容量和流量,从i到j的容量通常用 ...

  2. 【Git】GitHub for Windows使用(3) GitHub Flow的使用

    第三章了,关于GitHub上有一个Pull Request,是展示本项目或资源所有的Pull 请求的. 而这个开发流程是基于GitHub Flow的开发模式. 网上关于GitHub Flow简单的介绍 ...

  3. 知识全聚集 .Net Core 技术突破 | 简单说说工作单元

    知识全聚集 .Net Core 技术突破 | 简单说说工作单元 教程 01 | 模块化方案一 02 | 模块化方案二 其他教程预览 分库分表项目实战教程 Git地址: https://github.c ...

  4. 深度解密Go语言之channel

    目录 并发模型 并发与并行 什么是 CSP 什么是 channel channel 实现 CSP 为什么要 channel channel 实现原理 数据结构 创建 接收 发送 关闭 channel ...

  5. spring boot 集成apollo 快速指南

    目前市面上流行的三大配置中心框架:Spring CLoud Config .Alibaba Nacos 以及携程apollo, 我们相应架构组号召,就使用Apollo吧. Work Flow 简单解释 ...

  6. 几张简单的terraform flow 图——可以快速了解terraform的使用

    以下是一个简单额terraform flow 我们快速的了解terraform 的使用,基于流程 参考图 参考架构 简单使用流程 说明 从上图我们可以看出terraform 的使用 tf 内容编写 定 ...

  7. flow flow-typed 定义简单demo

    flow-typed 安装 全局 npm install -g flow-typed 测试代码 一个简单全局函数 目录根目录 flow-typed userLibDef.js declare func ...

  8. git + git flow 的简单介绍

    1.git简单实用 git:是一种分布式版本控制系统,因为其优秀的特性个人十分推崇. 1.1设置本机用户身份 git config -global user.name "userName&q ...

  9. Git flow的分支模型与及经常使用命令简单介绍

    Git flow是git的一个扩展集,它基于Vincent Driessen 的分支模型,文章"A successful Git branching model"对这一分支模型进行 ...

随机推荐

  1. java集合框架体系

    Collection接口: 1.单列集合类的根接口. 2.定义了可用于操作List.Set的方法——增删改查: 3.继承自Iterable<E>接口,该接口中提供了iterator() 方 ...

  2. bzoj1604 / P2906 [USACO08OPEN]牛的街区Cow Neighborhoods

    P2906 [USACO08OPEN]牛的街区Cow Neighborhoods 考虑维护曼哈顿距离:$\left | x_{1}-x_{2} \right |+\left | y_{1}-y_{2} ...

  3. 2017-2018-1 JaWorld 第六、七周作业

    2017-2018-1 JaWorld 第六.七周作业 修改需求规格说明书 上次的<需求规格说明书>初稿有哪些不足? 王译潇同学回答:   1. 引言和目的性考虑的不是很周全.   2. ...

  4. UVa 1637 纸牌游戏(全概率公式)

    https://vjudge.net/problem/UVA-1637 题意: 36张牌分成9堆,每堆4张牌.每次可以拿走某两堆顶部的牌,但需要点数相同.每种拿法的概率均为1/5.求成功概率. 思路: ...

  5. /etc/rc.local 与 /etc/profile

    1.用户自己源码安装的软件组要自启动,可以在/etc/rc.local中配置,rc.loacl 是rc.d/rc.local的一个软连接.rc.local -> rc.d/rc.local 2. ...

  6. python文件操作的坑( FileNotFoundError: [Errno 2] No such file or directory...)

    环境:Windows8.1, Python3.6  pycharm community 2017   c盘下有一个配置文件:setup   with open('c:\\setup','r') as ...

  7. 快递100API接口调用代码示例

    package com.util; import java.io.IOException; import java.io.InputStream; import java.net.MalformedU ...

  8. android:点击popupwindow以外区域 popupwindow自动消失

    方法一(这种方法可以处理popupwindows dimiss的时候一些其他的操作,比如让其他控件的隐藏,消失等): 代码如下popupWindow.setFocusable(false);//foc ...

  9. Tensorflow一些常用基本概念与函数(四)

    摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的模型训练Training与测试Testing等相关函数进行讲解.为‘Tensorflow一些常用基本概念与函数’系 ...

  10. Android------个人项目(歆语计算器)

    歆语混合计算器,触手可及,畅享运算,欢迎使用,支持4则混合运算, 可以同时加,减,乘,除,前提是计算格式要输入正确,提供便利的计算功能. apk下载地址: http://shouji.baidu.co ...