如何使用CommonJS导出流接口?

时间:2018-10-29 13:38:57

标签: flowtype

我不确定自己的构建是否良好,但是在我的package.json中,我有

"scripts": {
    "build": "flow-remove-types src/ -d build/",

我有一个types/sentence.js,其中有:

// @flow

type SentenceObject = {
  foo: number,
  bar: boolean,
  baz: string,
};

module.exports = {
  SentenceObject
};

在我的图书馆文件中,我有:

const { SentenceObject } = require('../interfaces/sentence');

当我做yarn build时,问题是:

src/interfaces/sentence.js
 ↳ Syntax Error: Unexpected token, expected = (3:27)
   2:  export type SentenceObject {

我做错了什么?

1 个答案:

答案 0 :(得分:3)

似乎no CommonJS style for require flow types。相反,您可以使用export / import as suggested in docs。因此,在您的情况下,可能类似于:

types/sentence.js

// @flow
export type SentenceObject = {
  foo: number,
  bar: boolean,
  baz: string,
};

注意export关键字。

在您的库文件中,您可以使用import type {...} from ''

import type { SentenceObject } from '../interfaces/sentence';