将流类型检查添加到grunt服务器开发工作流程

时间:2014-11-24 14:11:37

标签: javascript gruntjs flowtype

我已将grunt-flow-type-check添加到我的Gruntfile.js,并且它在watch内工作。如何添加任务以从发送到浏览器的代码中删除流类型注释?

流服务器似乎是自动执行此操作,但我希望在现有的基于grunt服务器的开发工作流程中使用流检查。

另外,我如何添加grunt-flow-type-check引用的自定义接口文件,而不必在实际代码中包含声明?

1 个答案:

答案 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,_等)。