在客户端上执行jsx转换
我正在构建一个允许用户构建和应用他们自己的组件和模板的应用程序。 我想让用户编辑jsx数据字符串,然后执行变换客户端进行渲染。
虽然在浏览器中的转换在嵌入式脚本上执行jsx转换,并且服务器上提供了react-tools,但我无法确定如何使转换功能可用于客户端。
内联浏览器转换似乎没有提供任何访问方法,而当我尝试在客户端上使用react-tools转换时,Atomify / Browserify崩溃。
JSXTransformer
模块导出两个函数:
transform
将JSX源代码作为一个字符串并返回一个带有名为code
的键的对象,其值是一个可以被评估的JavaScript字符串。
exec
像transform
一样工作,然后结果传递给eval
。
此电话:
JSXTransformer.transform("React.createClass({render: function() { return <div></div>; } });").code
...产生这个普通的JavaScript输出:
"React.createClass({render: function() { return React.createElement("div", null); } });"
JSXTransformer在2015年中被弃用,以支持Babel的浏览器内解决方案, babel-standalone
:https://babeljs.io/docs/setup/#installation
这里讨论:https://github.com/facebook/react/issues/5497
链接地址: http://www.djcxy.com/p/52101.html