vue项目配置使用flow类型检查的步骤(3)

/* @flow */ var users = [ { name: 'John', designation: 'developer' }, { name: 'Doe', designation: 'designer' } ]; function getDeveloper() { return _.findWhere(users, {designation: 'developer'}); }

Flow会检查出以下错误:

interfaces/app.js:9
  9:   return _.findWhere(users, {designation: 'developer'});
              ^ identifier `_`. Could not resolve name

由于Flow并不认识_,所以会报错。要解决这个问题,我们需要引入Underscore的库定义

1、使用flow-typed

  flow-typed仓库包含了众多流行的第三方库的libdef。只需在项目根目录下创建一个名为flow-typed的文件夹,并且下载相关的定义文件即可。为了进一步简化,可以用npm的命令行方式一键获取和安装libdef文件:npm install -g flow-typed

  安装成功之后, 运行flow-typed install来检查package.json文件,并且下载所有项目中用到的第三方库的libdef。

2、自定义libdef

  如果你用的库并不在flow-typed仓库,你可以创建你自己的libdef。本文不会细谈自定义libdef,因为很少会有人遇到,感兴趣可以查看此文档。

八、剔除类型注释

  由于额外添加的类型注释不是正确的JavaScript语法,打包编译的时候需要在源码中剔除。可以通过flow-remove-types来剔除,或者如果你已经用Babel来转译JS,你可以使用Babel preset来移除。我们只讨论第一种方法。

  首先需要安装flow-remove-types作为项目依赖库:npm install --save-dev flow-remove-types

  然后在package.json文件中添加另一个script入口:

"scripts": { "flow": "flow", "build": "flow-remove-types src/ -D dest/", }

上述命令将剔除src文件夹下的所有类型注释,在dist文件夹中保存编译后的版本。编译后的文件就是普通的能运行于浏览器的JavaScript文件。

到此这篇关于vue项目配置使用flow类型检查的步骤的文章就介绍到这了,更多相关vue flow类型检查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1dd6344951ee1eb51df45647e5bfd748.html