代码未在动态创建的<script>元素内执行,类型为“text / jsx”

时间:2017-01-16 13:36:52

标签: javascript reactjs jsx

我正在开发一个需要动态加载脚本的应用程序。我尝试使用createElement方法加载脚本。因为它是一个React应用程序,我需要将脚本标记的type属性设置为“text / jsx”。我做了类似的事情:

&#xA;&#xA;
  var headTag = document.getElementsByTagName(“head”)[0];&#xA; var scriptEle = document.createElement(“script”);&#xA; scriptEle.src =“app.js”;&#xA; scriptEle.setAttribute( “类型”, “文本/ JSX”);&#XA; headTag.appendChild(scriptEle);&#XA; scriptEle.onload = function(){&#xA; //成功&#XA; }&#XA; scriptEle.onerror = function(error){&#xA; //错误&#XA; }&#xA;  
&#xA;&#xA;

如果我将属性类型设置为“text / jsx”,则文件app.js中的代码不会执行。 onload和onerror也没有执行。

&#xA;&#xA;

有没有办法执行app.js代码,将类型保持为“text / jsx”?

&#xA; &#XA;

感谢

&#XA。

1 个答案:

答案 0 :(得分:0)

浏览器无法理解/编译jsx这就是为什么我们有javascript convertiler;它会将您的代码编译为本机javascript,然后您可以将其包含在此处。

Chcek babel在这里