返回

Babel 7 中 @babel/preset-env & plugin-transform-runtime:开启现代 JavaScript 新篇章

前端

Babel 7 中的 @babel/preset-env 和 plugin-transform-runtime

Babel 是一个 JavaScript 编译器,可以将现代 JavaScript 代码转换成兼容旧浏览器的代码。在 Babel 7 中,@babel/preset-env 和 plugin-transform-runtime 是两个重要的包,它们可以帮助您轻松地实现这一目的。

@babel/preset-env

@babel/preset-env 是一个预设,它包含了 Babel 转换现代 JavaScript 语法的插件。您可以使用 @babel/preset-env 来将您的代码转换成兼容指定浏览器的代码。

例如,如果您想将您的代码转换成兼容 IE 11 的代码,您可以使用以下命令:

babel --presets @babel/preset-env --target "ie 11"

plugin-transform-runtime

plugin-transform-runtime 是一个插件,它可以将您的代码中的 polyfill 提取出来,并将其放入一个单独的文件中。这可以减小您的代码的体积,并提高您的代码的性能。

例如,如果您想将您的代码中的 polyfill 提取出来,您可以使用以下命令:

babel --plugins plugin-transform-runtime

@babel/preset-env 和 plugin-transform-runtime 的区别

@babel/preset-env 和 plugin-transform-runtime 的主要区别在于:

  • @babel/preset-env 是一个预设,它包含了 Babel 转换现代 JavaScript 语法的插件。
  • plugin-transform-runtime 是一个插件,它可以将您的代码中的 polyfill 提取出来,并将其放入一个单独的文件中。

何时使用 @babel/preset-env 和 plugin-transform-runtime

您应该根据您的具体情况来决定是否使用 @babel/preset-env 和 plugin-transform-runtime。

如果您需要将您的代码转换成兼容旧浏览器的代码,那么您应该使用 @babel/preset-env。

如果您需要将您的代码中的 polyfill 提取出来,那么您应该使用 plugin-transform-runtime。

结论

@babel/preset-env 和 plugin-transform-runtime 是 Babel 7 中两个重要的包,它们可以帮助您轻松地将现代 JavaScript 代码转换成兼容旧浏览器的代码。您应该根据您的具体情况来决定是否使用它们。