Babel 中文网
  • 中文文档
  • 设置
  • 试一试
  • 视频(需翻墙)
  • 博客
  • 团队
  • 英文官网

›预设(Presets)

指南

  • Babel 是什么?
  • 使用指南
  • 配置 Babel
  • 学习 ES2015
  • 升级到 Babel 7

配置

  • Config Files
  • Config Options
  • 预设(Presets)
  • 插件
  • Plugins List
  • Compiler assumptions

预设(Presets)

  • @babel/preset-env
  • @babel/preset-react
  • @babel/preset-typescript
  • @babel/preset-flow

杂项

  • 路线图
  • 附加说明
  • Features Timeline
  • FAQ
  • 编辑器

集成

  • @babel/cli
  • @babel/polyfill
  • @babel/plugin-transform-runtime
  • @babel/register
  • @babel/standalone

工具

  • @babel/parser
  • @babel/core
  • @babel/generator
  • @babel/code-frame
  • @babel/runtime
  • @babel/template
  • @babel/traverse
  • @babel/types

辅助

  • helper-compilation-targets
  • helper-module-imports
Edit

@babel/preset-flow

如果您使用了 Flow,则建议您使用此预设(preset)。Flow 是一个针对 JavaScript 代码的静态类型检查器。此预设(preset)包含以下插件:

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

示例

输入

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)参数的更多信息。

← @babel/preset-typescript路线图 →
  • 示例
  • 安装
  • 用法
    • 通过配置文件(推荐)
    • 通过命令行工具(CLI)
    • 通过 Node API
  • 参数
    • all
    • allowDeclareFields
Babel 中文网
中文文档
学习 ES2015
社区
视频(需翻墙)用户列表Stack OverflowSlack ChannelTwitter
更多
博客GitHub OrgGitHub RepoWebsite Repo旧版 6.x 网址旧版 5.x 网址
友链
Bootstrap中文网ReactNext.jsDocusaurusBlitzGatsbyRecoilReduxMDXMarkdownVue.jsAlpine.jsVuePressNuxt.jsGridsomePreactSvelteSapperWebpackRollup.jsParcelNPMYarnpnpmGulpjQuerySASSTailwindCSSPurgeCSScssnanoPostCSSJestWebAssemblyDeno
Babel 中文文档采用 MIT 开源协议发布。
本站点(babeljs.cn)仅用于 “Babel 中文文档”,与 babeljs.io 没有任何关系。Babel 项目及相关资源的版权归 babeljs.io 所有。
冀ICP备14002930号-1