flowtype - Flow 在导入时给出 SyntaxError
问题描述
这是我的代码:
// @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
]
}
推荐阅读
- sql - 如何获得包含不存在值的结果集?
- c# - 如何在 C# 中使用 Pkcs11Interop 创建具有 CAdES 格式的数字签名,无需数据或文档进行签名
- google-drive-api - 谷歌表格 API 拒绝连接,因为已达到每日配额
- php - PHP - strtotime 使用短语“上周的第一天”不正确
- python - Python读取文本文件,分成块并写入csv
- r - 我需要使用循环从我的数据集中找到所有预测变量(p 值 < 0.05)。有什么办法吗?
- bash - 为什么在分配空变量时bash中的陷阱会引发错误
- curl - 如何卷曲 POST 带有空格的文件名?
- css - 如何根据其内容为父宽度设置动画?
- javascript - Firestore 中的引用类型