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