React之使用脚手架启动页面

Posted Icy Hunter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React之使用脚手架启动页面相关的知识,希望对你有一定的参考价值。

文章目录

脚手架

  1. React脚手架用来帮助创建模板项目
    1.包含了所有需要的配置(语法检查,jsx编译、devServer)
    2.下载好了所有相关依赖
    3.可以直接运行一个简单的效果
  2. react提供了一个用于创建react项目的脚手架库:create-react-app
  3. 项目的技术架构为:react+webpack+es6+eslint
  4. 使用脚手架开发的项目的特点:模块化、组件化、工程化

简答来说,用了脚手架会使我们的开发变得简单。
直观来讲

至少这个warning会消失。

使用脚手架创建一个项目

首先需要安装脚手架

全局安装

npm i create-react-app -g

用的npm,需要装了node.js才能执行成功

安装完成后,切换到希望创建的项目目录,然后创建一个名为hello-react的项目:

create-react-app hello-react

创建完成后进入项目文件夹

cd hello-react

然后启动项目

npm start 


然后就可以通过这两个网址访问页面了。


进入页面看到如上就说明项目已经启动了。

一些常用命令

Yarn start执行服务器
Yarn build 打包
Yarn test 几乎不用
Yarn eject 将webpack文件都暴露出来
(要用yarn得装一下)

项目文件的一些介绍

node_modules存放脚手架所需要的依赖包
public一般用来存放全局的静态文件
src则是存放js等文件的地方

默认生成的文件如上有很多
但是目前对我来说其实不太需要
只用

就足以启动一个网页了
favicon.ico为图标,其实不要也可以,只不过控制太报错不太看就加上

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="root"></div>
</body>
</html>

App.js

// 创建外壳组件APP
import React from 'react'
class App extends React.Component
    render() 
        return(
            <div>
                hello, React!
            </div>
        )
    

//暴露App组件
export default App

index.js:

// 入口文件

//引入react核心库
import React from 'react';
//引入ReactDOM
import ReactDOM from 'react-dom'
//引入App组件
import App from "./App"

// 渲染App到页面
ReactDOM.render(<App/>, document.getElementById("root"))
npm start

启动可以看到页面正常展示,不过有个小问题
大概就是说render用法有点变化


index.js改成:

// 入口文件

//引入react核心库
import React from 'react';
//引入ReactDOM
import ReactDOM from 'react-dom/client'
//引入App组件
import App from "./App"


// import ReactDOM from 'react-dom/client'
const root = ReactDOM.createRoot(document.getElementById("root"))
root.render(<App/>)

再次运行

就没事了

组件模块化


src里组件文件这样写就可以能够完成组件模块化的管理了
文件下面命名为index的话默认就可以导入了,因此App.js导入时最后文件名就可以不用写了
Hello/index.css:

.title
    background-color:aquamarine

Hello/index.js:

import React, Component from "react"
import "./index.css"
export default class Hello extends Component 
    render() 
        return <h2 className="title">Hello, React!!!!</h2>
    

Welcome/index.css:

.demo
    background-color: blueviolet;

Welcom/index.js:

import React,  Component from 'react'
import "./index.css"
export default class Welcome extends Component 
    render() 
        return(
            <h1 className="demo">Welcome</h1>
        )
    

然后组件都放到App里
App.js:

// 创建外壳组件APP
//react里暴露了Component
import React, Component from 'react'
import Hello from "./components/Hello"
import Welcome from "./components/Welcome"
class App extends Component
    render() 
        return(
            <div>
                <Hello/>
                <Welcome/>
            </div>
        )
    

//暴露App组件
export default App

入口文件index.js:

// 入口文件

//引入react核心库
import React from 'react';
//引入ReactDOM
import ReactDOM from 'react-dom/client'
//引入App组件
import App from "./App"


// import ReactDOM from 'react-dom/client'
const root = ReactDOM.createRoot(document.getElementById("root"))
root.render(<App/>)

启动可以看到页面结果如下:


App下面两个组件。

以上是关于React之使用脚手架启动页面的主要内容,如果未能解决你的问题,请参考以下文章

React多页面应用脚手架-v1.3.0

react环境搭建

react脚手架之create-react-app搭建方法

前端学习(3153):react-hello-react之脚手架文件介绍

前端学习(3176):react-hello-react之脚手架配置2

前端学习(3174):react-hello-react之脚手架的配置