所以我一直在阅读基本指南,并设置了一个没有npm或任何东西的hello world文件,只是一个html文件。
根据ReactJS: "Uncaught SyntaxError: Unexpected token <"我应该将脚本类型设置为text/jsx
或text/babel
。既不工作,也不打印&#34; hi&#34;或做任何事。
<html>
<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>
<div id="root">
</div>
<script type="text/jsx">
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
console.log("hi");</script>
</html>
发生了什么以及如何让它执行?
答案 0 :(得分:3)
经过多次挖掘,这里出现了导致问题的高水平。
问题中的代码在JSX中transpiles使用名为Babel的转换器javascript。误解是转换器没有内置到Web浏览器中。但是你可以做的是在顶部导入Babel
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.js"></script>
然后确保脚本类型设置为text/babel
,它应该可以正常工作。