博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript静态类型检测工具—Flow
阅读量:5756 次
发布时间:2019-06-18

本文共 965 字,大约阅读时间需要 3 分钟。

前言

最近看vue的源码的时候发现,vue用了flow来搞些什么事情,第一眼看到代码感觉应该是cosplay Typescript?查了一下,好像还真是差不多的东西0 0

什么是Flow

Flow是一个专门为javascript服务的静态类型检测工具。

Flow能给我们带来什么

在平时的项目中,我们多多少少会遇到类型不一致问题引发的一系列问题,而排查类型问题的bug也比较让人心累。

安装

npm install --save-dev flow-bin

package.json文件的script中加上个命令:

"scripts": {  "flow": "flow"}

这样的话,我们就不需要用node_modules/...一系列路径去运行flow了。

然后加个index.js文件来测试吧:

// @flowfunction foo(x: ?number): string {  if (x) {    return x;  }  return "default string";}

@flow是flow检测声明,加了它才干活。

number、string那些,很明显,就是类型声明。

写完保存好js文件以后,我们就可以运行Flow了:

npm run flow

我们就可以看到terminal的报错文案:

➜  flowTest npm run flow> flowtest@1.0.0 flow /Users/Terry/Downloads/flowTest> flowError: index.js:5  5:     return x;                ^ number. This type is incompatible with the expected return type of  3: function foo(x: ?number): string {                               ^^^^^^ stringFound 1 error

报错就证明成功了!

个人观点

我是感觉如果项目不达到一定规模,这样的流程还是比较费劲的。而对于大型项目的话,Flow就体现出它强大的价值了,Flow让生活更美好!恩,所以,对于大型项目,我选择Typescript

转载地址:http://nevkx.baihongyu.com/

你可能感兴趣的文章
mysql慢日志记录
查看>>
【277】◀▶ Python 列表/元组/字典说明
查看>>
js数组与字符串的相互转换方法
查看>>
获取android系统手机的铃声和音量
查看>>
lua 代码加密方案
查看>>
如何成为一名黑客
查看>>
2017-2018-2 20155303『网络对抗技术』Exp1:PC平台逆向破解
查看>>
firefox扩展开发(一) : 扩展的基本结构
查看>>
基于 jieba 和 word_cloud 生成《人民的名义》小说词云
查看>>
linux应用之用户管理相关命令
查看>>
Hibernate Criteria可以只查询出表中几个字段
查看>>
8.实现(Realization)
查看>>
Word中的语言选项问题
查看>>
matlab练习程序(加权最小二乘)
查看>>
linux搜索一个文件
查看>>
金三银四跳槽季,BAT美团滴滴java面试大纲(带答案版)之二:ThreadLocal和Valotile...
查看>>
12月26日作业及所学概括
查看>>
数据库到底用不用外键
查看>>
AtCoder Beginner Contest 120 D - Decayed Bridges(并查集)
查看>>
nginx 负载均衡策略
查看>>