我正在编写一个babel插件来转换JSX代码。
我可以使用以下代码获得AST:
var babylon = require('babylon');
var code = '\
<Outer>\
<Inter />\
</Outer>\
';
var ast = babylon.parse(code, {
sourceType: 'module',
plugins: ['jsx']
});
但是,使用以下代码会出错:
var code = '\
<Outer>\
<Inter value=0 />\
</Outer>\
';
错误是:
SyntaxError: JSX value should be either an expression or a quoted JSX text
有什么建议吗?
答案 0 :(得分:2)
正如错误所说,这不是有效的JSX。属性值必须是表达式(value={0}
)或引用的(value="0"
)。