我很幸运地使用React的JSXTransformer.js在浏览器中使用JSX进行开发:
<script src="http://fb.me/JSXTransformer-0.11.1.js"></script>
<script type="text/jsx">
/** @jsx React.DOM */
...
</script>
为了减少样板,我想使用Harmony的一些功能,例如箭头功能。Facebook的JSX编译器服务有一个和谐复选框,可以将ES6转换为更传统的JS:
var f = v => this.props[v];
// becomes var f = function(v) { return this.props[v]; }.bind(this);
是否可以使用浏览器内的JSX启用此转换?
React v0.11中添加了此功能。您设置的不是type="text/jsx"
,而是type="text/jsx;harmony=true"
。例如:
<script type="text/jsx;harmony=true">
/** @jsx React.DOM */
var f = v => v*v;
console.log(f(2)); // logs 4
</script>