Acorn-JSX
这是一个插件 橡子 一个小巧,快速的JavaScript解析器,完全用JavaScript编写。
它是作为一种实验性的替代方案而创建的,速度更快 React.js JSX 解析器。后来,它取代了 官方解析器 并且现在被许多著名的开发工具所使用。
Transpiler
请注意,此工具仅将源代码解析为JSX AST,这对于各种语言工具和服务都很有用。如果你想用源代码映射将你的代码转换成符合es5标准的JavaScript,请查看 巴别塔 和 布雷 转译器使用 acorn-jsx 在引擎盖下面。
用法
要求这个模块为你提供了一个Acorn插件,你可以这样使用:
var acorn = require("acorn");
var jsx = require("acorn-jsx");
acorn.Parser.extend(jsx()).parse("my(<jsx/>, 'code');");
注意,官方规范不支持在标记名中混合使用XML名称空间和对象样式访问(#27) <namespace:Object.Property />,所以在 [email protected]. 如果你仍然想选择支持这些结构,你可以传递以下选项:
acorn.Parser.extend(jsx({ allowNamespacedObjects: true }))
此外,由于大多数应用使用纯React转换器,因此引入了一个新选项,允许完全禁止命名空间:
acorn.Parser.extend(jsx({ allowNamespaces: false }))
注意,默认情况下 allowNamespaces 为规范遵从性而启用。
许可证
这个插件是在 麻省理工学院的许可。