语法错误“;期望表达式,得到'<'&引用;在尝试运行reactjs教程时
我正在使用我自己的服务器(apache)和建议的HTML文件以及教程示例的逐字副本完成reactjs教程 最简单的示例在我的服务器上失败,但在JSFIDLE上有效 我的HTML文件和脚本如下所示 脚本失败,呈现时出现语法错误:function(){ firefox和Safari(mac版本,最新版本)中的错误消息语法错误“;期望表达式,得到'<'&引用;在尝试运行reactjs教程时,reactjs,Reactjs,我正在使用我自己的服务器(apache)和建议的HTML文件以及教程示例的逐字副本完成reactjs教程 最简单的示例在我的服务器上失败,但在JSFIDLE上有效 我的HTML文件和脚本如下所示 脚本失败,呈现时出现语法错误:function(){ firefox和Safari(mac版本,最新版本)中的错误消息 “”“SyntaxError:应为表达式,得到'您发布的代码存在两个问题 首先,JSX transformer没有转换代码,因为脚本标记上没有相应的类型属性 改变 var Hello
“”“SyntaxError:应为表达式,得到'您发布的代码存在两个问题 首先,JSX transformer没有转换代码,因为
脚本标记上没有相应的类型属性
改变
var Hello=React.createClass({
...
到
var Hello=React.createClass({
...
其次,在页面上实际存在div
之前调用document.getElementById('container')
;将最后的脚本
标记及其内容移动到div
之后(例如,移动到正文的底部)
最终的代码应该与教程中显示的代码类似:
你好,反应
//你的代码在这里
这是一个旧线程,但我最近在我的React应用程序上执行npm运行构建时遇到了这个错误,我刚刚使用WinSCP将它从Windows box复制到Linux box。我正在使用nginx在Linux box上为应用程序提供服务。原来我的问题是静态目录中的JS文件没有执行权限。这导致了一个错误,只提供了我的index.html而不是js文件,因此SyntaxError:expected表达式得到了“Narsters的答案,对我来说很有效,但我不得不将这一行添加到我的package.json中
"homepage": "./",
我是一个新手,在网站上添加了react。我在中找到了演示代码
中的代码是不同的
我从codepen下载代码。它是这样的:(它可以工作)
官方网站上的代码是:(它不工作)
render(){
返回(
姓名:
);
}
}
ReactDOM.render(
,
document.getElementById('root'))
);
我不知道它们为什么不同,但我只知道我应该使用方法而不是标签我有同样的问题,问题是
npm init
在我运行这个程序之后,它会询问一些问题,并将数据填入package.json
,更改homepage
,以及我刚刚打开package.json并删除npm在文件末尾创建的所有行,如description,homepage,author
,这个问题可能有不同的原因。
其中一个问题的答案是上面的“米歇尔·蒂利”
确保您已检查并尝试了上述第一种解决方案
那么让我解释一下我的情况是什么原因
我没有在我的index.html
文件中使用%PUBLIC\u URL%
,这就是我面临这个问题的原因
index.html
假设您已经导入了布局和Js的文件,如下所示
<script src="/vendor/jquery/dist/jquery.min.js"></script>
希望这能对其他人有所帮助。干杯在html文件中使用react via cdn时,我也遇到了同样的错误,我偶然发现了这篇与我的问题非常相似的文章
我的代码的问题是js无法理解我在components render方法中使用的jsx代码
这是我如何把它修好的。
除了react,我为babel单机版添加了另一个cdn,如下所示
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>
发布此答案,希望它能帮助面临相同问题的人。尝试将
标记移动到身体内部。JSX transformer脚本需要时间加载。谢谢你——我现在明白了。它是这样工作的,完全有道理解释为什么它在我不工作之前无法工作。我得到一个空白屏幕。没有控制台e错误。我尝试过,但没有成功,我已经为我的案例添加了以下答案。我认为“标记”方法是JSX,如果没有预处理步骤,在浏览器中(2020年)将无法工作。如果你在CodePen中转到“设置->Js”,并选择“Babel”作为JavaScript预处理器,你应该能够使用“标记”方法。选择“无”作为预处理器,您应该得到“SyntaxError:expected expression,get”
render() {
return (
<form onSubmit={this.handleSubmit}>
<label>
Name:
<input type="text" value={this.state.value} onChange={this.handleChange} />
</label>
<input type="submit" value="Submit" />
</form>
);
}
}
ReactDOM.render(
<NameForm />,
document.getElementById('root')
);
<script src="/vendor/jquery/dist/jquery.min.js"></script>
SyntaxError: expected expression, got '<' jquery.min.js:1
SyntaxError: expected expression, got '<' bootstrap.bundle.min.js:1
SyntaxError: expected expression, got '<' js.cookie.js:1
<script src="%PUBLIC_URL%/vendor/jquery/dist/jquery.min.js"></script>
<script src="%PUBLIC_URL%/vendor/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>
<script type="text/babel">/* my react code containing jsx */</script>