在我的项目中,我使用 React 和 Babel,因此我使用了一些 ES6 功能,但主要是 React 使用的功能。 Webstorm 为我提供了将语法标记为 ES6 或 JSX Harmony 的选项,但我感到很困惑。
我想我知道什么是 ES6/ES2015 以及如何将它与编译器一起使用,例如。通天塔。
困难部分 ID JSX/JSX Harmony。我知道 React 使用“JSX”,但是:
这与 here 是同一个 JSX吗? ?如果不是,Webstorm 中的 JSX Harmony 选项指的是哪个 JSX?
我已经看到提到的兼容性页面 here并且知道 JSX Transformer 仅支持 ES6 的一小部分,而且显然 Babel 支持 JSX 作为 ES6 支持的补充,因此 JSX 似乎不仅仅是 ES6 子集......如果是这样,JSX React 或 JSX Harmony 的哪些功能不属于其中ES6 规范?
编辑:
对于问题1,我确信这是两个完全不同的事情。那么 JSX Harmony 是什么?
编辑2:
为了回答我自己的问题,Webstorm JSX Harmony 最有可能指的是带有 --harmony
标志的 React JSX 编译器支持的语法 - 添加了一些 ES6 支持。
最佳答案
不,这不是同一个 jsx。据我所知,有两种称为 JSX 的语言:
React.js 的模板语言
一种编译为 JavaScript 的静态类型编程语言。
这两种语言就像 XML 和 C++ 一样不同。
您要查找的 JSX 来自此处:https://github.com/facebook/react可以通过 npm 从这里安装:https://www.npmjs.com/package/react-tools
JSX 编程语言不会编译 React JSX 模板。
关于javascript - JSX 与 ES6/ES2015,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32708020/