babel 的 airbnb preset 究竟做了什么?

What does babel's airbnb preset actually do?

正在学习如何使用webpack和babel来编译前端应用javascript,很好奇airbnb babel preset,好像很多人在开发react的时候用的应用程序。所以我有几个问题:

此预设是否将任何代码转换为符合爱彼迎标准的代码?

如果是这样,我是否有必要使用爱彼迎风格指南?

此外,我不明白为什么对于不遵守风格的人来说如此必要。有没有人读过编译后的代码(无论如何通常都是缩小的)?根据我的经验,我只阅读了它们单独的原始文件中的源代码。

预设是一组用于支持特定语言功能的插件。您使用预设利用尚未在浏览器中实现的最新 JavaScript 功能。预设将转换您的源代码和语法以与浏览器理解的本机 JavaScript 兼容。例如, @babel/preset-react 将允许您编写 JSX (JavaScript as XML) 样式代码,通常用于定义 React 组件,尽管 JSX浏览器无法自然理解。

那么 babel-preset-airbnb 预设是怎么回事?

好吧,AirBnb 决定创建一个 guide to present a "reasonable approach to writing JavaScript" since everyone writes JavaScript differently. Ideally, this guide gives a greater sense of structure and order to JavaScript applications. The entire guidelines can be found here,,其中 AirBnb 描述了他们关于编写更易于维护的惯例或建议 JavaScript

那么关于你的问题:

Does this preset translate any code into code which keeps to airbnb standards? If so, is it necessary if I use the airbnb style guide anyways?

是的,一般来说,预设的目的是将您的代码翻译成浏览器当前可以理解的行业标准。因此,AirBnb 团队提供的预设将根据他们上面提到的样式 guide 转译您的代码。至于你问题的第二部分,我个人认为它们是很好的编码约定,以正确的方式编写代码并保持肌肉记忆从来都不是坏事。

那么为什么要压缩代码呢?

大多数人在发布到生产环境之前缩小他们的 JavaScript 代码,以 减少浏览器需要下载到 运行 他们的网络应用程序的字节数 .这就是为什么当你检查代码时,大部分时间它都是缩小的代码。话虽这么说,他们预设的全部目的是将您的代码转换为符合他们风格指南的代码。