在 preact 应用程序中创建 .babelrc 需要什么

what is the need to create .babelrc in preact application

我开始使用 Preact 应用程序。 documentation 表示

与其在代码中声明@jsx pragma,不如在 .babelrc:

中全局配置它

对于 Babel 5 及之前的版本:

{ "jsxPragma": "h" }

对于 Babel 6:

{
  "plugins": [
    ["transform-react-jsx", { "pragma":"h" }]
  ]
}

我是 Preact 世界的新手,想了解为什么我们需要创建这个文件以及什么是 jsx pragma?

pragma 是一个注释(此处为 /** @jsx h */),位于包含一些 JSX 的文件的顶部,告诉 JSX 转换器您要调用哪个函数来创建虚拟的每个元素 dom. Preact 使用 hyperscript,这就是为什么你需要使用 h 编译指示。 Preact 建议创建此文件,以便 babel 自行处理 pragma,而无需将其添加到每个文件。这样你就不会忘记把它放在一个文件上。

如果您想了解关于 JSX 的一切,建议您阅读 WTF is JSX,这是基础 post。