我不确定自己的构建是否良好,但是在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 {

我做错了什么?

最佳答案

似乎是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';

09-25 16:19