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
]
}
这是我的代码:
// @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
]
}