Javascript 未捕获的语法错误:意外标记'<';反应
我正在尝试使用React创建一个简单的网站,但由于某些原因,它只显示一个空白页面 控制台日志上显示的错误是未捕获的语法错误:意外标记“JSX不是JavaScript” 浏览器仅支持用于导入的JavaScript模块 JSX不是JavaScript 您需要使用Babel将JSX编译为JavaScript 一般来说,这将导致您拥有一个使用Node.js的应用程序,该应用程序(在开发模式下)将运行承载您的应用程序的HTTP服务器,并在您编辑时重新编译,并且(在构建模式下)将输出静态编译文件供您部署 按照以下步骤设置用于编译JSX的工具链。(我不推荐第一个选项(使用客户端Babel),因为它有很多限制,例如不支持模块(您已经在使用这些模块)) 或者,使用a(这将比React网站上的任何选项都要轻,但这是一种不太常见的方法,因此您会在Internet上找到较少的帮助) 命名 与您当前的问题无关:Javascript 未捕获的语法错误:意外标记'<';反应,javascript,reactjs,syntax,Javascript,Reactjs,Syntax,我正在尝试使用React创建一个简单的网站,但由于某些原因,它只显示一个空白页面 控制台日志上显示的错误是未捕获的语法错误:意外标记“JSX不是JavaScript” 浏览器仅支持用于导入的JavaScript模块 JSX不是JavaScript 您需要使用Babel将JSX编译为JavaScript 一般来说,这将导致您拥有一个使用Node.js的应用程序,该应用程序(在开发模式下)将运行承载您的应用程序的HTTP服务器,并在您编辑时重新编译,并且(在构建模式下)将输出静态编译文件供您部署 按
React要求以
开头命名组件。问题在于React组件使用的命名约定。对于react组件,必须使用pascal case。您的组件应该按照以下方式进行更正。当您没有配置babel react预设以编译JSX时,也会发生这种情况
如果您没有使用babel react预设,请将以下CDN放入html文件。您可以在codepen链接中找到cdn基本解决方案
Main.js
import React from "react"
import ReactDOM from "react-dom"
import Navbar from "./navbar.js"
import Body from "./body.js"
const App = ()=> {
<Navbar />
<Body />
}
ReactDOM.render(<App/>, document.getElementById("root"))
//******************without babel react presets********************
const App = [Body, NavBar];
ReactDOM.render(App, document.getElementById("app"))
从“React”导入React
从“react dom”导入react dom
从“/Navbar.js”导入导航栏
从“/Body.js”导入正文
常量应用=()=>{
}
ReactDOM.render(
)
}
//************没有巴贝尔反应预设************
const NavBar=React.createElement(“nav”,null,
React.createElement(“a”,{href:#“},“Articles”),
React.createElement(“a”,{href:#“},“Notes”),
React.createElement(“a”,{href:#“},“Course”),
React.createElement(“a”,{href:#“},“Brain”),
React.createElement(“a”,{href:#“},“时事通讯”),
React.createElement(“a”,{href:#“},“Facebook”)
);
//*****************************************
导出默认导航栏;
身体-
从“React”导入React
常量体=()=>{
返回(
嗨,我是我
Lorem Ipsum
)
}
//**************没有巴贝尔反应预设************
const Body=React.createElement(“div”,null,
React.createElement(“h1”,null,“嗨,我是我”),
React.createElement(“p”,null,“Lorem Ipsum”)
);
//***************************************************
导出默认体;
虽然这是一个问题,但并不是问题导致了问题所问的错误。谢谢,但它不起作用。您是使用webpack还是只是使用react cdn?只是react cdn,我想:)它仍然不起作用。我已经安装了Babel,并将所有名称更改为CapitalLetter,但它仍然不起作用。它仍然是空的,并且有相同的错误。安装Babel是不够的。您必须按照React网站中的描述设置工具链,用它编译代码,然后运行生成的代码。
import React from "react"
import ReactDOM from "react-dom"
import _navbar from "./navbar.js"
import _body from "./body.js"
ReactDOM.render(<_navbar />, document.getElementById("root"))
ReactDOM.render(<_body />, document.getElementById("root"))
import React from "react"
function navbar() {
return(
<navbar>
<a href="#">Articles</a>
<a href="#">Notes</a>
<a href="#">Course</a>
<a href="#">Brain</a>
<a href="#">Newsletter</a>
<a href="#">Facebook</a>
</navbar>
)
}
export default navbar
import React from "react"
function body() {
return (
<div>
<h1>Hi, I'm Me</h1>
<p>Lorem Ipsum</p>
</div>
)
}
export default body
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
import React from "react"
import ReactDOM from "react-dom"
import Navbar from "./navbar.js"
import Body from "./body.js"
const App = ()=> {
<Navbar />
<Body />
}
ReactDOM.render(<App/>, document.getElementById("root"))
//******************without babel react presets********************
const App = [Body, NavBar];
ReactDOM.render(App, document.getElementById("app"))
import React from "react"
const NavBar = () => {
return(
<navbar>
<a href="#">Articles</a>
<a href="#">Notes</a>
<a href="#">Course</a>
<a href="#">Brain</a>
<a href="#">Newsletter</a>
<a href="#">Facebook</a>
</navbar>
)
}
//************without babel react presets************
const NavBar = React.createElement("nav", null,
React.createElement("a", { href: "#"}, "Articles"),
React.createElement("a", { href: "#"}, "Notes"),
React.createElement("a", { href: "#"}, "Course"),
React.createElement("a", { href: "#"}, "Brain"),
React.createElement("a", { href: "#"}, "Newsletter"),
React.createElement("a", { href: "#"}, "Facebook")
);
//*****************************************
export default NavBar;
import React from "react"
const Body = () => {
return (
<div>
<h1>Hi, I'm Me</h1>
<p>Lorem Ipsum</p>
</div>
)
}
//**************without babel react presets************
const Body = React.createElement("div", null,
React.createElement("h1", null, "Hi, I'm Me"),
React.createElement("p", null, "Lorem Ipsum")
);
//***************************************************
export default Body;