从脚手架开始学前端 【第6期】React脚手架搭建

1,413 阅读2分钟

前言

React 是一个用于构建用户界面的 JAVASCRIPT 库。

React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。

React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。

React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。单单脚手架就有传统创建单页面程序的create-react-app,有进行服务器端渲染的Next.js,还有快速创建网站的Gatsby。那就先从create-react-app开始说起。

特点

1.声明式设计 −React采用声明范式,可以轻松描述应用。

2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。

3.灵活 −React可以与已知的库或框架很好地配合。

4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。

5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。

6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

安装

create-react-app是react中最简单的创建单页面程序的方式。并且Node >= 6 ,npm >= 5.2

# 全局安装create-react-app
$ npm install -g create-react-app
# OR
$ yarn global add create-react-app
# 或 临时安装create-react-app
$ npx create-react-app my-app

创建项目

注意:如果安装后创建项目显示: D:\Program Files\nodejs\node_global\create-react-app.ps1,因为在此系统上禁止运行脚本。

  • 解决办法:
  • 1.win+X键,使用管理员身份运行power shell
  • 2.输入命令:set-executionpolicy remotesigned
  • 3.输入”Y“,回车,问题解决。
# 创建常规项目
create-react-app my-project
# 创建ts项目
create-react-app my-ts-project --scripts-version=react-scripts-ts

启动项目

这样,一个react单页面程序项目就创建好了。启动这个项目,启动之后访问http://localhost:3000/就可以打开项目了。

npm start   //或者
yarn start

目录结构

my-app
│  .gitignore              //git免提交文件配置文件
│  package.json            //包管理文件
│  README.md               //说明文档
│  yarn.lock               //yarn锁定版本文件
│
├─node_modules              //项目依赖
├─public                    //公共静态资源文件夹
│      favicon.ico          
│      index.html
│      logo192.png
│      logo512.png
│      manifest.json
│      robots.txt
│
└─src                       //react源代码
        App.css
        App.js              //根组件
        App.test.js
        index.css           //样式文件
        index.js            //入口文件
        logo.svg            //logo文件
        serviceWorker.js
        setupTests.js

集成react-router

要想完成单页面程序的开发,需要在页面中进行页面局部刷新,加载各种子页面。这就就离不开路由。

  • 安装路由
$ yarn add  react-router-dom --save
  • 集成到项目

在App.js中引入,并且使用

import React, { Component } from 'react';
import { BrowserRouter as Router,Route ,Link} from 'react-router-dom'

import './App.css';
// 加载组件
import List from './List'
import About from './About'

class App extends Component {
  render() {
    return (
      <Router>
        <div>
          <h1>App</h1>
          <ul>
            <li><Link to="/list">List</Link></li>
            <li><Link to="/about">About</Link></li>
          </ul>
          <hr/>
          <Route path="/list" component={List} />
          <Route path="/about" component={About} />
        </div>
      </Router>
    );
  }
}
export default App;

期待

React会开设[React从出师到挂帅]专题进行讲解,敬请期待!!!

点击下方关注我👇👇👇

往期推荐

从脚手架开始学前端 【第1期】前言

从脚手架开始学前端 【第2期】Node.js环境搭建(windows)

从脚手架开始学前端 【第3期】Node.js环境搭建(CentOS 7)

从脚手架开始学前端 【第4期】Node.js之NPM与PACKAGE.JSON讲解

从脚手架开始学前端 【第5期】Vue脚手架搭建