我已经将grunt-flow-type-check
添加到我的Gruntfile.js
中,它正在watch
内工作。如何添加任务以从发送到浏览器的代码中删除流类型注释?
流服务器似乎会自动执行此操作,但我想在我现有的基于 grunt 服务器的开发工作流程中使用流检查。
另外,如何添加要由grunt-flow-type-check
引用的自定义接口文件,而不必在实际代码中包含声明?
几天前我自己设置了这一切。
要去除注释,您必须使用 react jsx 转译器。
安装转译器:npm install -g react-tools
运行转译器:jsx --strip-types --harmony --watch src/ build/
将其用作 grunt 构建的一部分是通过使用 grunt shell 完成的。(咕噜咕噜的外壳信息)
Grunt shell 允许您使用 shell 命令作为 grunt 构建的一部分。就我而言,我使用它来运行类型检查器和转译器,然后再进行其余的 js 构建。
我在这里的设置将运行类型检查器,然后在没有发现错误时剥离注释:
shell: {
'flow': {
command: [
'cd path/to/your/js',
'flow check --lib globals_lib'
].join('&&')
},
'transpile': {
command: 'jsx --strip-types path/to/src/ path/to/dist/',
stdout: true,
failOnError: true
}
},
至于你的第二个问题。上面的 --lib
标志允许您拥有一个(或多个文件)包含所有声明的文件。在这种情况下,我遵循 fb 的示例,只有一个 globals_lib 文件夹,里面有一个名为 globals.js 的文件,其中包含我所有的声明(jQuery、_ 等)。