Babel 7 升级出现的问题以及解决方式

前言

随着前端技术的飞速发展,我们的代码也越来越复杂,为了让代码更加兼容,我们经常会使用 Babel 这个工具来将 ES6+ 的代码转成 ES5 代码。而在最近的 Babel 7 版本中,出现了一些问题,本文将为大家介绍这些问题以及解决方式。

问题一:@babel/preset-env 的默认配置变化

在 Babel 7 中,@babel/preset-env 的默认配置发生了变化。在之前的版本中,@babel/preset-env 会根据当前的运行环境来自动选择需要转换的语法特性,但是在 Babel 7 中,@babel/preset-env 不再自动选择需要转换的语法特性,而是需要手动配置。

解决方式:

在 babel.config.js 中手动配置需要转换的语法特性,例如:

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

问题二:@babel/plugin-transform-runtime 报错

在 Babel 7 中,@babel/plugin-transform-runtime 报错,提示找不到 @babel/runtime-corejs2/core-js。

解决方式:

安装 @babel/runtime-corejs2 并在 babel.config.js 中配置:

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

问题三:@babel/preset-react 报错

在 Babel 7 中,@babel/preset-react 报错,提示找不到 @babel/plugin-transform-react-jsx。

解决方式:

安装 @babel/plugin-transform-react-jsx 并在 babel.config.js 中配置:

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

问题四:@babel/preset-typescript 不工作

在 Babel 7 中,@babel/preset-typescript 不工作,提示找不到 typescript。

解决方式:

安装 @babel/preset-typescript 和 @babel/plugin-transform-typescript 并在 babel.config.js 中配置:

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

总结

通过本文的介绍,我们了解了 Babel 7 升级出现的问题以及解决方式。在升级 Babel 7 时,我们需要注意 @babel/preset-env 的默认配置变化,以及 @babel/plugin-transform-runtime、@babel/preset-react、@babel/preset-typescript 的报错问题,并按照解决方式进行配置。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/660aa55dd10417a222a529fc