【问题标题】:What does babel's airbnb preset actually do?babel 的 airbnb 预设实际上是做什么的?
【发布时间】:2019-08-29 17:00:04
【问题描述】:

我正在学习如何使用 webpack 和 babel 为前端应用程序编译 javascript,我对 airbnb babel 预设很好奇,似乎很多人在开发 React 应用程序时都会使用它。所以我有几个问题:

此预设是否会将任何代码转换为符合 airbnb 标准的代码?

如果是这样,如果我仍然使用airbnb风格指南,是否有必要?

此外,我不明白为什么对于不遵守这种风格的人来说如此有必要。有没有人读过编译后的代码(通常都是缩小的)?根据我的经验,我只阅读了它们单独的原始文件中的源代码。如果该代码尚未进行 airbnb 样式化,我看不出在编译中对其进行样式化有什么好处 - 至少出于阅读目的(我知道一些 airbnb 标准是针对功能性的,这确实有意义)。

【问题讨论】:

    标签: javascript babeljs airbnb-js-styleguide


    【解决方案1】:

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

    那么babel-preset-airbnb 预设有什么用?

    AirBnb 决定创建一个guide 来展示一个“写JavaScript 的合理方法”,因为每个人写JavaScript 的方式都不同。理想情况下,本指南为 JavaScript 应用程序提供结构和顺序的更好理解。整个指南可以在here, 找到,AirBnb 在这里描述了他们的约定或建议,以便编写更易于维护的JavaScript

    至于你的问题:

    此预设是否会将任何代码转换为符合 airbnb 标准的代码?如果是这样,如果我仍然使用airbnb风格指南,是否有必要?

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

    现在为什么要缩小代码?

    大多数人在发布到生产环境之前会缩小他们的 JavaScript 代码,以减少浏览器运行 Web 应用程序需要下载的字节数。这就是为什么当您大多数时候检查代码时它是缩小代码的原因。话虽如此,他们预设的全部目的是将您的代码转换为符合其样式指南的代码。

    【讨论】:

      猜你喜欢
      • 2011-03-11
      • 2010-11-26
      • 2015-06-23
      • 2017-12-26
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多