Babel 插件 - 如何使用属性解析 JSX
Babel Plugin - How to parse JSX with attributes
我正在编写一个 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
有什么建议吗?
如错误所述,这不是有效的 JSX。属性值必须是表达式 (value={0}
) 或带引号的 (value="0"
).
我正在编写一个 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
有什么建议吗?
如错误所述,这不是有效的 JSX。属性值必须是表达式 (value={0}
) 或带引号的 (value="0"
).