将Flowtype添加到现有的大型项目中是否可行?
我添加/* @flow weak */
到一个.js
文件中,然后运行flow check
并突出显示大量函数调用全局定义的库,因为它不知道它们是什么.所以我更新了我的.flowconfig
文件,如下所示:
[ignore] node_modules/ bower_components/ typings/ [include] twig/ [libs] bower_components/timezone-js/src/date.js bower_components/jquery/dist/jquery.js bower_components/jquery-migrate/jquery-migrate.js bower_components/jquery-ui/jquery-ui.js bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.js bower_components/jquery-cookie/jquery.cookie.js bower_components/jquery.expander/jquery.expander.js bower_components/jquery.transit/jquery.transit.js www/js/select2.js bower_components/fancybox/source/jquery.fancybox.pack.js bower_components/lodash/lodash.js bower_components/underscore.string/lib/underscore.string.js bower_components/json2/json2.js bower_components/jquery-validation/dist/jquery.validate.js bower_components/jquery-file-upload/js/jquery.iframe-transport.js bower_components/jquery-file-upload/js/jquery.fileupload.js bower_components/DataTables/media/js/jquery.dataTables.js bower_components/jquery.taps/jquery.taps.js bower_components/file-saver.js/FileSaver.js bower_components/react/react.js bower_components/react/react-dom.js bower_components/react/react-dom-server.js node_modules/babel-core/external-helpers.js node_modules/babel-core/browser-polyfill.js ... more libs ... [options] munge_underscores=true
现在,当我跑步时,它就会耗尽内存flow check
.
那么,那么呢?我的项目是否太大而无法使用流量?
路径.flowconfig
是绝对路径上的正则表达式.所以,要忽略下面的一切node_modules
,bower_components
你会使用这样的东西:
[ignore] .*/node_modules/.* .*/bower_components/.*
该[libs]
部分包含Flow 声明(接口文件)的路径,您可以在其中定义应用程序中全局变量的类型.您可以将其指向一个保存所有接口文件的目录:
[libs] .*/lib/interfaces/.*
例如,对于jQuery,您可以使用以下声明:
declare module "jQuery" { declare function $(element: any): any; }
请注意,我们使用了any
类型,它有效地关闭了此参数或返回类型的类型检查.
另请参阅文档中有关第三方集成的部分.