JavaScript

ECMAScript 支持

Turbopack 使用 SWC 构建 JavaScript 和 TypeScript 代码。因此我们将 SWC 与 ECMAScript 版本相匹配,凡是 SWC 支持的版本,Turbopack 同样支持,也就是说 Turbopack 默认支持所有 ESNext 语法

Browserslist

针对配置代码构建的目标浏览器,使用 Browserslist 已成为行业标准。若要使用此功能,你可在 package.json 添加 browserslist 字段:

package.json
{
  "browserslist": [
    "last 1 version",
    "> 1%",
    "not dead"
  ]
}

Turbopack 原生支持 Browserslist,它会将 package.json 的信息传递给 SWC 以提供 browserslist 功能。也就是说你可以使用 Turbopack 轻松决定要为传统浏览器或现代浏览器构建代码。

Turbopack 及其开发服务器正处于 alpha 预览阶段,目前在开发时将预设最小的 browserslist 配置以最大程度减少代码转换。在未来的发行版本,Turbopack 将根据你配置的 browserslist 为相应的环境构建代码。

Babel

Babel 可为代码中自定义语法提供相应的转换,包括处于早期提案的语法。

Turbopack 目前还不支持 Babel 插件。在默认配置中,我们没有使用 Babel 编译 JavaScript 或 TypeScript 代码。

未来将通过插件的形式,为 Babel 提供支持。