Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的语法错误:意外标记'<';反应_Javascript_Reactjs_Syntax - Fatal编程技术网

Javascript 未捕获的语法错误:意外标记'<';反应

Javascript 未捕获的语法错误:意外标记'<';反应,javascript,reactjs,syntax,Javascript,Reactjs,Syntax,我正在尝试使用React创建一个简单的网站,但由于某些原因,它只显示一个空白页面 控制台日志上显示的错误是未捕获的语法错误:意外标记“JSX不是JavaScript” 浏览器仅支持用于导入的JavaScript模块 JSX不是JavaScript 您需要使用Babel将JSX编译为JavaScript 一般来说,这将导致您拥有一个使用Node.js的应用程序,该应用程序(在开发模式下)将运行承载您的应用程序的HTTP服务器,并在您编辑时重新编译,并且(在构建模式下)将输出静态编译文件供您部署 按

我正在尝试使用React创建一个简单的网站,但由于某些原因,它只显示一个空白页面

控制台日志上显示的错误是未捕获的语法错误:意外标记“JSX不是JavaScript” 浏览器仅支持用于导入的JavaScript模块

JSX不是JavaScript

您需要使用Babel将JSX编译为JavaScript

一般来说,这将导致您拥有一个使用Node.js的应用程序,该应用程序(在开发模式下)将运行承载您的应用程序的HTTP服务器,并在您编辑时重新编译,并且(在构建模式下)将输出静态编译文件供您部署

按照以下步骤设置用于编译JSX的工具链。(我不推荐第一个选项(使用客户端Babel),因为它有很多限制,例如不支持模块(您已经在使用这些模块))

或者,使用a(这将比React网站上的任何选项都要轻,但这是一种不太常见的方法,因此您会在Internet上找到较少的帮助)

命名 与您当前的问题无关:


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;