Flow 在导入时给出 SyntaxError

Flow is giving SyntaxError on imports

这是我的代码:

// @flow
import { EntityModel } from '@http-utils/hateoas';

我编译它:

babel src/ -d dist/

然后我运行它,但是我得到一个运行时间错误:

$ node dist/http-utils-hateoas-example.js
import { EntityModel } from '@http-utils/hateoas';
       ^
SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

我做错了什么?

编辑

根据 Flow 文档,我的 babel 配置只有 @babel/preset-flow。看起来这只是剥离流。我如何配置 babel 以在 nodejs 上对代码进行额外的编译 运行?

{
  "presets": [
    "@babel/preset-flow"
  ]
}

解决方法非常简单。我所需要的只是将另一个预设转换为 CommonJS。

{
  "presets": [
    "@babel/preset-flow",
    @babel/preset-env
  ]
}