Babel 7.5 之后,我们不再需要 babel-preset-env

阅读时长 3 分钟读完

前言

在前端开发中,我们经常需要使用 Babel 来将 ES6+ 的代码转换成 ES5 的代码,以兼容不支持 ES6+ 的浏览器。而在 Babel 的配置中,我们通常会用到 babel-preset-env 这个预设来自动根据目标环境来确定需要的插件和 polyfill。但是,在 Babel 7.5 之后,官方宣布我们不再需要使用 babel-preset-env 了,那么这到底是怎么回事呢?

Babel 7.5 的更新

在 Babel 7.5 中,官方引入了一个新的功能,叫做 “auto” mode,它可以自动根据目标环境来确定需要的插件和 polyfill,而不需要手动配置。这个功能的实现原理是通过使用 browserslist 来确定目标环境,并自动选择需要的插件和 polyfill。

如何使用 auto mode

使用 auto mode 非常简单,只需要安装 @babel/preset-env,然后在 .babelrcbabel.config.js 中配置即可。下面是一个示例:

-- -------------------- ---- -------
-
  ---------- -
    -
      --------------------
      -
        ---------- ----- - --------- - --- --- -----
      -
    -
  -
-

上面的配置中,我们指定了目标环境为最近两个版本的浏览器、全球使用率超过 1% 的浏览器,以及不支持的浏览器。然后,Babel 会自动根据这个目标环境来选择需要的插件和 polyfill。

与传统配置的对比

为了更好地理解 auto mode 的优势,我们来看一下传统的配置方式。通常,我们会使用 babel-preset-env 来根据目标环境来确定需要的插件和 polyfill,如下所示:

-- -------------------- ---- -------
-
  ---------- -
    -
      ------
      -
        ---------- -
          ----------- ------ - ---------- --- -- ---
        -
      -
    -
  -
-

上面的配置中,我们指定了目标环境为最近两个版本的浏览器和 IE8 及以上版本的浏览器。然后,Babel 会根据这个目标环境来选择需要的插件和 polyfill。

可以看到,传统的配置方式需要手动指定目标环境,并且需要使用特定的预设来实现。而 auto mode 可以自动根据目标环境来确定需要的插件和 polyfill,省去了手动配置的步骤,更加方便和灵活。

总结

Babel 7.5 引入的 auto mode 可以自动根据目标环境来确定需要的插件和 polyfill,省去了手动配置的步骤,更加方便和灵活。我们只需要安装 @babel/preset-env,然后在 .babelrcbabel.config.js 中配置即可。这个新功能的引入将会对前端开发产生积极的影响,让我们更加轻松地进行 ES6+ 的开发工作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/664086bfd3423812e4ea69c5

纠错
反馈