Babel不输出流量注释

时间:2017-04-14 20:19:32

标签: javascript reactjs static-analysis babel flowtype

我刚刚第一次获得流程设置,并且我试图在开源库中使用它。我试图使用babel-plugin-transform-flow-comments,以便图书馆的消费者可以获得类型检查的好处,如果他们也在使用流程。

我目前只有一个文件被注释,它通过了所有检查:

/* @flow */

import React from 'react'

export default function Checkbox({ input, label }: { input: Object, label: string }) {
  return (
    <div className="form-group checkbox">
      <label>
        <input type="checkbox" {...input} />
        {label}
      </label>
    </div>
  );
}

但是,当我运行compile任务时,我根本看不到任何流量评论。我的dev依赖项中列出了包:

"babel-plugin-transform-flow-comments": "^6.22.0",

我把它连接到我的.babelrc

  "plugins": ["transform-flow-comments"],
  "presets": ["flow", "es2015", "react", "stage-0"]

然而输出中没有一条评论:

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

exports.default = Checkbox;

var _react = require("react");

var _react2 = _interopRequireDefault(_react);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function Checkbox(_ref) {
  var input = _ref.input,
      label = _ref.label;

  return _react2.default.createElement(
    "div",
    { className: "form-group checkbox" },
    _react2.default.createElement(
      "label",
      null,
      _react2.default.createElement("input", _extends({ type: "checkbox" }, input)),
      label
    )
  );
}

希望我错过了一些简单的事情?

1 个答案:

答案 0 :(得分:0)

我应该更好地审核文档。差异很微妙,但这不起作用:

export default function Checkbox({ input, label }: { input: Object, label: string }) {

确实如此:

export default function Checkbox(props: { input: Object, label: string }) {