通过bookmarklet注入React JSX

时间:2016-09-12 17:33:25

标签: javascript reactjs bookmarklet jsx

如何将这样的代码从html文件转换为bookmarklet

<script src="JSXTransformer-0.13.3.js"></script>
<script src="react-0.13.3.js"></script>
<script type="text/jsx;harmony=true" src="foo.js"></script>

在bookmarklet代码中,我通过这样做加载了js文件 -

var script = document.createElement('script'); 
script.src = 'file:///C:/whatever.js'; 
document.body.appendChild(script); 

但是我通过执行以下操作加载的JSX文件似乎没有做任何事情。

var script = document.createElement('script');
script.type = 'text/jsx;harmony=true'; 
script.src = 'file:///c:/foo.js'; 
document.body.appendChild(script);

它确实添加了脚本元素,但似乎并没有创建反应组件。 我尝试将它放在setTimeout中,认为这可能是一个时间问题,但我有一种感觉,这与我对React和JSXTransformer如何检测和处理jsx文件缺乏了解有关。有什么我需要打电话的吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我使用babel将jsx转换为普通js,如此处所述 - https://facebook.github.io/react/docs/language-tooling.html