Я написал свой собственный модуль, который принимает строку JSX в качестве параметра и превращает ее в javascript объект, поэтому я называю это так:
import parser from 'own-parser'
console.log(parser("<h1>Hello world</h1>"))
Это работает, но то, что я на самом деле необходимо преобразовать JSX в объект при компиляции, чтобы я мог написать его как обычное выражение JSX:
var jsx = <h1>Hello World</h1>
и получить результат из моей функции в виде вывода, например:
var jsx = {element: 'h1', children:[/*...*/]}
Я не понимаю, есть много плагинов babel, таких как "babel-plugin-transform-jsx", которые могут это сделать sh, но я хочу узнать о плагинах babel и о том, как они работают, чтобы я мог сделать свои собственные.
Я пытался проанализировать код упомянутого выше плагина, но все еще не могу понять, как все работает, например, как плагин узнает, что он работает с JSXElement?
Единственное, что Я пытаюсь сделать, это извлечь этот JSX, поместить его в мою функцию и преобразовать его в возвращение функции
Как я могу это сделать? Спасибо