ReactJS初学者教程:未发生jsx转换且未显示元素
我已经根据React教程()设置了所有内容。我是在Python服务器下完成的 已加载React(事实上,已插入ShadowDOM,它建议我安装React工具) 我通过以下方式使用jsx offline transformer:ReactJS初学者教程:未发生jsx转换且未显示元素,reactjs,react-jsx,Reactjs,React Jsx,我已经根据React教程()设置了所有内容。我是在Python服务器下完成的 已加载React(事实上,已插入ShadowDOM,它建议我安装React工具) 我通过以下方式使用jsx offline transformer: # in public/js directory jsx --watch src/ build/ # terminal output (Linux) follows.... built Module("react") ["app","react"] app.js chan
# in public/js directory
jsx --watch src/ build/
# terminal output (Linux) follows....
built Module("react")
["app","react"]
app.js changed; rebuilding...
built Module("app")
["app","react"]
public/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React!</title>
<script src="js/build/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.2/marked.min.js"></script>
<script type="text/jsx" src="js/build/app.js"></script>
</head>
<body>
<div id="content"></div> <!-- here the React component is instantiated -->
</body>
</html>
应转换为(public/js/build/app.js):
var CommentBox=React.createClass({
render:function(){
返回(
你好,世界!我是一个评论箱。
);
}
});
反应(
,
document.getElementById('content')
);
但事实并非如此(我在运行jsx transformer的终端中看到“文件已更改…”)
此外,我还试图关闭jsx transformer并用第二块代码手动覆盖build/app.js。
但是在任何情况下,都不会呈现任何内容实际上,您的src文件应该包含JSX文件,而您的分发或构建文件夹应该包含编译(仅javascript)文件
我在JSFIDLE中运行了代码,代码运行正常。这可能与文件位置有关。如果您可以查看浏览器控制台日志,并向我们显示任何错误消息,这将对我们有很大帮助。如果您已经脱机转换jsx文件,您的脚本标记应该是
<script type="text/js" src="js/build/app.js"></script>
而不是
<script type="text/jsx" src="js/build/app.js"></script>
您已经切换了src和构建代码,或者问题是您试图将JS转换为JSX,但却想做相反的事情。您能否提供JSFIDLE以便我可以调查这个问题?问题到底是什么。基本上我不理解JS语法和JSX onethank。然而,问题似乎是jsx没有将其转换为js(相同的文件内容),有什么想法吗?
<script type="text/js" src="js/build/app.js"></script>
<script type="text/jsx" src="js/build/app.js"></script>