在客户端上执行jsx转换

Jon*_*Biz 6 javascript reactjs babeljs

我正在构建一个允许用户构建和应用自己的组件和模板的应用程序.我想允许用户编辑jsx数据字符串,然后执行转换客户端进行渲染.

虽然在浏览器转换中对嵌入式脚本执行jsx转换,并且在服务器上提供了react-tools,但我无法确定如何使转换功能可供客户端使用.

内联浏览器转换似乎没有提供任何访问方法,当我尝试在客户端上使用react-tools转换时,Atomify/Browserify崩溃.

Ros*_*len 6

JSXTransformer模块导出两个函数:

  • transform将JSX源代码作为字符串,并返回一个对象,该对象的名称code值为JavaScript字符串,然后可以进行评估.

  • exec工作方式transform,结果然后传递给eval.

这个电话:

JSXTransformer.transform("React.createClass({render: function() { return <div></div>; } });").code
Run Code Online (Sandbox Code Playgroud)

...生成这个纯JavaScript输出:

"React.createClass({render: function() { return React.createElement("div", null); } });"
Run Code Online (Sandbox Code Playgroud)