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").