我刚刚开始使用Reactjs并且正在编写一个简单的组件来显示li
标签并遇到此错误:
意外的标记'<'
我把例子放在jsbin下面http://jsbin.com/UWOquRA/1/edit?html,js,console,output
请让我知道我做错了什么 .
我刚刚开始使用Reactjs并且正在编写一个简单的组件来显示li
标签并遇到此错误:
意外的标记'<'
我把例子放在jsbin下面http://jsbin.com/UWOquRA/1/edit?html,js,console,output
请让我知道我做错了什么 .
15 回答
问题 Unexpected token '<' 是因为错过了babel预设 .
解决方案:您必须按如下方式配置webpack配置
这里.jsx检查.js和.jsx格式 .
您可以使用节点简单地安装babel依赖项,如下所示
谢谢
以下是jsbin的一个工作示例:
HTML:
JSX:
从单个文件运行此代码,它应该工作 .
我用 type = "text/babel" 解决了它
在我的情况下,除了
babel
预设,我还必须将其添加到我的.eslintrc
:使用以下代码 . 我添加了对React和React DOM的引用 . 使用ES6 / Babel将JS代码转换为vanilla JavaScript . 请注意,Render方法来自ReactDOM,并确保render方法具有在DOM中指定的目标 . 有时您可能会遇到render()方法无法找到目标元素的问题 . 发生这种情况是因为反应代码在DOM渲染之前执行 . 为了解决这个问题,使用jQuery ready()来调用React的render()方法 . 这样您就可以确定首先渲染DOM了 . 您还可以在应用脚本上使用延迟属性 .
HTML代码:
JS代码:
希望这能解决您的问题 . :-)
我有这个错误,两天都无法解决这个问题 . 所以修复错误非常简单 . 在正文中,您连接
script
,添加type="text/jsx"
,这将解决问题 .你可以使用这样的代码:
并且不要忘记将
<div id='main-content'></div>
添加到html
的body
中但是在你的package.json文件中你应该使用这个依赖项:
它对我有用,但我也使用了webpack,有了这个选项(进入webpack.config.js):
如果我们考虑您的真实站点配置,那么您需要在头部运行ReactJS
并将属性添加到您的js文件中 - 类型=“text / babel”
那么下面的代码示例将起作用:
继承人另一种方式你可以做到html
index.js文件,路径为src / index.js
使用这个package.json可以快速启动并运行
UPDATE: 在React 0.12中,不再需要JSX编译指示 .
确保在文件顶部包含JSX编译指示:
如果没有这一行,
jsx
二进制和浏览器内变换器将保持文件不变 .在我的情况下,我没有在我的脚本标签上包含type属性 .
我今天刚开始学习
React
并面临同样的问题 . 以下是我写的代码 .正如你可以看到我在使用
<Hello/>
之后错过了一个逗号(,) . 而错误本身就是说我们需要看哪一行 .所以一旦我在
ReactDOM.render()
函数的第二个参数之前添加一个逗号,所有都开始正常工作 .要正确标记解析,您需要在脚本中使用此babel版本:https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js和属性"type='text/babel'" . 此外,您的自定义脚本应在"body"标记内 .
如果你像我一样并且容易出现愚蠢的错误,那么检查你的package.json是否包含你的babel预设:
您需要将JSX代码转换/编译为javascript或使用浏览器内转换器
查看http://facebook.github.io/react/docs/getting-started.html并记下
<script>
标签,您需要将JSX中包含的标签用于浏览器 .