我已将grunt-flow-type-check
添加到我的Gruntfile.js
,并且它在watch
内工作。如何添加任务以从发送到浏览器的代码中删除流类型注释?
流服务器似乎是自动执行此操作,但我希望在现有的基于grunt服务器的开发工作流程中使用流检查。
另外,我如何添加grunt-flow-type-check
引用的自定义接口文件,而不必在实际代码中包含声明?
答案 0 :(得分:2)
我几天前就把这一切都搞定了。
要删除注释,您必须使用react jsx transpiler。
安装转发器:npm install -g react-tools
运行转发器:jsx --strip-types --harmony --watch src/ build/
使用它作为grunt构建的一部分是通过使用grunt shell来完成的。 (Grunt shell info)
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,_等)。