从js转换为jsx的工具

时间:2015-12-09 22:44:53

标签: javascript reactjs babeljs react-jsx

我很好奇是否有任何转换工具会从普通JS转换为JSX。 Babel会将JSX转换为JS,但据我所知它不能回到JSX。

来自example

var Nav;
// Input (JSX):
var app = <Nav color="blue" />;
// Output (JS):
var app = React.createElement(Nav, {color:"blue"});

是否有其他方向的工具:

var Nav;
// Input (JS):
var app = React.createElement(Nav, {color:"blue"});
// Output (JSX):
var app = <Nav color="blue" />;

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己没有尝试过,但显然现在有一个babel插件可以完全按照你的要求进行。

compile ('com.mcxiaoke.volley:library-aaa:1.0.0') { transitive = false }

https://github.com/JoeStanton/babel-js-to-jsx

根据文件:

  

Babel 6插件转换为desugared React.DOM CallExpressions - &gt;   等效的JSX。目前用于从其他人迁移到ES6 +   编译成JS语言。

     

它可以用作插件:

babel-js-to-jsx
  

或者从命令行进行组合   其他工具:

require("babel-core").transform(code, {
  plugins: ["js-to-jsx", "syntax-jsx"],
}).code