当我试图通过内容服务器获取我的JSX文件时,我遇到了一个问题。该应用程序具有Test.cshtml视图,并在此调用jsx文件以将UI的反应部分呈现给内容'格。
当我使用解决方案中的文件结构在项目中本地运行它时它工作正常。
<div id="content">
@*react renders here*@
</div>`
@section Scripts{
<script src="_linktoReact_/react-0.14.0.js"></script>
<script src="_linktoReact_/react-dom-0.14.0.js"></script>
<script src="~/Scripts/JSX/test.jsx">
</script>
}
但是当我尝试从内容服务器运行来托管中央位置的文件(在本例中是localhost:8111)时,它不起作用。该文件加载到浏览器中,但jsx不执行。这将给我一个错误&#34; Uncaught SyntaxError:Unexpected token&lt;&#34;它指向jsx文件中的第一行HTML。
<div id="content">
@*react renders here*@
</div>`
@section Scripts{
<script src="_linktoReact_/react-0.14.0.js"></script>
<script src="_linktoReact_/react-dom-0.14.0.js"></script>
<script src="http://localhost:8111/Scripts/JSX/test.jsx">
</script>
}
所以我尝试添加type标签来引用jsx,如下所示。这删除了未被捕获的语法错误&#34;但是,它不会给出任何错误,但也不能做出反应。
<div id="content">
@*react renders here*@
</div>`
@section Scripts{
<script src="_linktoReact_/react-0.14.0.js"></script>
<script src="_linktoReact_/react-dom-0.14.0.js"></script>
<script type="text/jsx" src="http://localhost:8111/Scripts/JSX/test.jsx">
</script>
}
我试图通过几种不同的方式找到问题,并围绕范围,CORS,甚至是服务器上的路由问题解决问题,但不确定是什么解决了这个问题。
尝试修复: 一个建议是使用窗口而不是像
那样的varvar TestDataTile = React.createClass({
替换为
window.TestDataTile = React.createClass({
但那不起作用。我正在使用react-0.14.0.js,react-dom-0.14.0.js
尝试重新编译成js文件,该文件在解决方案中按预期呈现,但在test.js文件中的一些代码中仍存在一些与api调用相关的问题。
什么可能导致jsx断开连接?
有人能引导我走向正确的方向吗?