2014-11-27 4 views
5

Я создаю приложение, которое позволяет пользователям создавать и применять свои собственные компоненты и шаблоны. Я хочу разрешить пользователям редактировать строки данных jsx, а затем выполнить преобразование на стороне клиента для рендеринга.Выполнение jsx-преобразований на клиенте

В то время как в in browser transform выполняется преобразование jsx на встроенные скрипты, а react-tools доступен на сервере, я не могу определить, как сделать функцию преобразования доступной для клиента.

В преобразовании встроенного браузера не предусмотрены какие-либо методы доступа, а при попытке использовать преобразование реагентов на клиенте происходит сбой Atomify/Browserify.

ответ

6

экспортирует JSXTransformer модуль две функции:

  • transform принимает JSX исходный код в виде строки и возвращает объект с помощью ключа с именем code, значение которого является строка JavaScript, который затем может быть Эвальд.

  • exec работает как transform, после чего результат передается eval.

Этот вызов:

JSXTransformer.transform("React.createClass({render: function() { return <div></div>; } });").code 

... производит эту равнину JavaScript выход:

"React.createClass({render: function() { return React.createElement("div", null); } });" 
+0

Отлично! Но моя проблема: как я могу сделать модуль JSXTransformer доступным на клиенте? –

+1

Ahh, по какой-то причине мне не хватало его, когда я сделал его глобальным. Теперь все ясно. благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^