跳到主要內容

@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

布林值,預設為 false

如果檔案最上方有 @flow 實用程式,或 .flowconfig 中設定了 all 選項,Flow 只會剖析 Flow 特定的功能。

如果你在 Flow 設定中使用 all 選項,請務必將此選項設定為 true 以取得相符的行為。

例如,在沒有上述任一選項的情況下,下列帶有型別引數的呼叫表達式

f<T>(e)

將會被剖析為巢狀二元表達式

JavaScript
f < T > e;

requireDirective

布林值,預設為 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
}
提示

你可以在此處閱讀更多關於設定外掛選項的資訊