Reactjs:意外的标记'<'错误

sam*_*sam 81 reactjs

我刚刚开始使用Reactjs并且正在编写一个简单的组件来显示
li标签并遇到了这个错误:

意外的标记'<'

我把例子放在jsbin下面 http://jsbin.com/UWOquRA/1/edit?html,js,console,output

请让我知道我做错了什么.

Yul*_*mok 48

我用type ="text/babel"解决了它

<script src="js/reactjs/main.js" type = "text/babel"></script>
Run Code Online (Sandbox Code Playgroud)


Sop*_*ert 29

更新:在React 0.12+中,不再需要JSX编译指示.


确保在文件顶部包含JSX编译指示:

/** @jsx React.DOM */
Run Code Online (Sandbox Code Playgroud)

如果没有这一行,jsx二进制和浏览器内变换器将保持文件不变.

  • 但<script type ="text/jsx">是 (10认同)
  • 使用babel我必须输入`type ="text/babel"`.勇敢的新javascript世界 (4认同)

Nuw*_*uwa 22

问题Unexpected token'<'是因为缺少babel预设.

解决方案:您必须按如下方式配置webpack配置

          {
            test   :/\.jsx?$/,
            exclude:/(node_modules|bower_components)/,
            loader :'babel',
            query  :{
                presets:['react','es2015']
            }
        }
Run Code Online (Sandbox Code Playgroud)

这里.jsx检查.js和.jsx格式.

您可以使用节点简单地安装babel依赖项,如下所示

npm install babel-preset-react
Run Code Online (Sandbox Code Playgroud)

谢谢

  • @Nuwa谢谢你.`npm install babel-preset-react`解决了我的问题. (3认同)
  • 如果项目中的`.babelrc`文件只是``presets':["env","react","es2015"]`那就是它! (3认同)

Sea*_*lls 19

在我的情况下,我没有在我的脚本标签上包含type属性.

<script type="text/jsx">
Run Code Online (Sandbox Code Playgroud)


小智 8

我有这个错误,两天都无法解决。所以错误的修复非常简单。在 body 中,你连接你的script,添加type="text/jsx",这将解决问题。


krs*_*krs 7

您需要将JSX代码转换/编译为javascript或使用浏览器内转换器

请查看http://facebook.github.io/react/docs/getting-started.html并注意<script>标记,您需要将JSX中包含的标记用于浏览器.

  • 确保在`<script type ="text/jsx">`标签中设置**type ="text/jsx"**,如果需要,请将整个代码粘贴到hastebin.org粘贴中 (7认同)