@babel/preset-flow
如果您使用了 Flow,则建议您使用此预设(preset)。Flow 是一个针对 JavaScript 代码的静态类型检查器。此预设(preset)包含以下插件:
示例
输入
function foo(one: any, two: number, three?): string {}
输出
function foo(one, two, three) {}
安装
npm install --save-dev @babel/preset-flow
用法
通过配置文件(推荐)
{
"presets": ["@babel/preset-flow"]
}
通过命令行工具(CLI)
babel --presets @babel/preset-flow script.js
通过 Node API
require("@babel/core").transformSync("code", {
presets: ["@babel/preset-flow"],
});
参数
all
boolean
类型,默认值为 false
。
如果文件顶部存在 @flow
pragma,或者在 .flowconfig
文件内设置了 all
参数,则 Flow 将只解析特定于 Flow 的功能。
如果你在 Flow 的配置中设置了 all
参数,请确保将此参数设置为 true
以获得相匹配的行为。
例如,如果没有上述任何一个参数设置,则如下所示的带有类型参数的调用表达式(call expression):
f<T>(e)
将被解析为一个嵌套的二元表达式:
f < T > e;
allowDeclareFields
boolean
类型,默认值为 false
添加于: v7.9.0
注意: 此参数在 Babel 8 中将被默认开启
When enabled, type-only class fields are only removed if they are prefixed with the declare
modifier:
class A {
declare foo: string; // Removed
bar: string; // Initialized to undefined
}
您可以 在这里 阅读有关配置预设(preset)参数的更多信息。