С Babel вы можете указать правую сторону @jsx, указывающую на любую функцию с сигнатурой function(type, props, ...children){}
.
Вот минимальный самостоятельный пример (не используйте его в процессе производства, он не избегает детей).
// jsx.js
// don't ask why it's all weird looking...
function stringJsxThingy(function(tag,props){return"<"+tag+"\x20"+Object['keys'](props||{})['map'](function(key){return(key+'="'+props[key]['replace'](/"/,'"')+'"')})['join']('\x20')+'>'+[]['slice']['call'](arguments,2)['join']('')+'</'+tag+'>';});
И если вы включить, что на вашей странице, и включают в себя следующее:
// MyView.js
/** @jsx stringJsxThingy */
var MyView = Backbone.View.extend({
render() {
this.$el.html(
<div class="hello">hey</div>
);
}
});
Который при запуске через Вавилонской дает:
/** @jsx stringJsxThingy */
"use strict";
var MyView = Backbone.View.extend({
render: function render() {
this.$el.html(stringJsxThingy(
"div",
{ "class": "hello" },
"hey"
));
}
});
Есть некоторые реальные библиотеки там, но я не знаю, с кем лучше общаться с jsx.
Это был прямой ответ, но почему бы не просто использовать Реагировать с позвоночника? Система просмотра в позвоночнике настолько минимальна, что нет серьезных приложений [править] использовать его в одиночку.
Стоит отметить, что JSXDOM не был затронут через год и 10 месяцев. – FakeRainBrigand