2014-11-27 30 views
5

Kullanıcıların kendi bileşenlerini ve şablonlarını oluşturup uygulamasına izin veren bir uygulama yapıyorum. Kullanıcıların jsx verilerinin dizelerini düzenlemesine izin vermek ve sonra render işlemi için dönüştürme tarafını gerçekleştirmesini istiyorum. in browser transform yılında JSX gömülü komut üzerine dönüşümleri gerçekleştirir ve react-tools sunucuda kullanılabilir ikenİstemcideki jsx dönüştürmeleri gerçekleştirme

, ben müşteriye dönüştürmek fonksiyonu kullanılabilir hale getirmek için nasıl belirleyemez.

Satır içi tarayıcı dönüşümü istemcide tepki araçlarını kullanmaya çalıştığımda erişim için herhangi bir yöntem sağladığından ve Atomify/Browserify çöküyor gibi görünmüyor.

cevap

6

JSXTransformer modül ihracatı iki işlev:

  • transform bir dize olarak JSX kaynak kodunu alır ve code, değeri o zaman eval'd edilebilir bir JavaScript dize adında bir anahtar ile bir nesne döndürür.

  • exectransform gibi çalışır ve sonuç eval'a iletilir.

Bu çağrı:

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

... Bu sade üretir JavaScript çıkış:

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

Harika! Ama benim sorunum: JSXTransformer modülünü istemcide nasıl kullanabilirim? –

+1

Ahh, bir sebepten dolayı bunu küresel yaptığımda kaçırıyordum. Şimdi hepsi temiz. Teşekkürler! –