@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
- Yarn
- pnpm
npm install --save-dev @babel/plugin-transform-flow-strip-types
yarn add --dev @babel/plugin-transform-flow-strip-types
pnpm add --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
}
提示
你可以在此處閱讀更多關於設定外掛選項的資訊