跳至正文

@babel/plugin-transform-flow-strip-types

信息

此插件包含在 @babel/preset-flow

示例

输入

JavaScript
function foo(one: any, two: number, three?): string {}

输出

JavaScript
function foo(one, two, three) {}

安装

npm install --save-dev @babel/plugin-transform-flow-strip-types

用法

babel.config.json
{
"plugins": ["@babel/plugin-transform-flow-strip-types"]
}

通过 CLI

Shell
babel --plugins @babel/plugin-transform-flow-strip-types script.js

通过 Node API

JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-flow-strip-types"],
});

选项

all

boolean,默认为 false

仅当文件顶部存在 @flow 编译指示或 .flowconfig 中设置了 all 选项 时,Flow 才会解析 Flow 特定的功能。

如果在 Flow 配置中使用了 all 选项,请确保将此选项设置为 true 以获得匹配的行为。

例如,如果没有上述任何一项,则以下带有类型参数的调用表达式

f<T>(e)

将被解析为嵌套的二元表达式

JavaScript
f < T > e;

requireDirective

boolean,默认为 false

将其设置为 true 将仅从包含 // @flow 编译指示的文件中删除注释和声明。它还会针对在没有编译指示的文件中找到的任何 Flow 注释抛出错误。

allowDeclareFields

boolean,默认为 false

添加于:v7.9.0

注意

这将在 Babel 8 中默认启用

启用后,仅当类型类字段以 declare 修饰符为前缀时,才会删除它们

JavaScript
class A {
declare foo: string; // Removed
bar: string; // Initialized to undefined
}
提示

您可以在 此处 阅读有关配置插件选项的更多信息