ReactP5_React脚手架的详解

这边是react学习笔记,期间加入了大量自己的理解,用于加强印象,若有错误之处还请多多指出

脚手架介绍相关的东西感觉要讲的太多,但是又好像都是些无关紧要的东西,就顺着课堂思路写吧

React脚手架

背景

前端复杂化

  • 内部各文件之间引用依赖关系的复杂化:比如各种css,js,第三方代码调用
  • 多种预处理文件编写和解析的复杂化:比如less,sass
  • 复杂内容的模块化开发管理需要
  • 各种外部库文件的升级更新、管理调用等等

脚手架的作用就是让项目从搭建到开发,再到部署,整个流程变得快速和便捷

前端脚手架

现在比较流行的三大框架脚手架:

  • Vue:vue-cli(会,感觉学起来很方便)
  • Angular:angular-cli (完全不会,也不想碰)
  • React:create-react-app (至今的感觉来看,感觉相对vue-cli来看复杂很多,不知道学会hooks之后感觉如何)

主要作用:生成一个通用的目录结构,配置所需的工程环境

目前这些脚手架都是使用node编写的,并且都是基于webpack的

所以我们必须在自己的电脑上安装node环境

这里我们主要是学习React,所以我们还是以React的脚手架工具:create-react-app作为讲解

安装node

React脚手架本身依赖node,所以需要安装node环境

官网安装地址:https://nodejs.org/en/download/

注意:这里推荐大家下载LTS(Long-term support )比较稳定

下载选择

包管理工具(npm,yard)

  • npm

    全称 Node Package Manager,即“node包管理器”

    帮助我们管理依赖的工具包(比如react、react-dom、axios、babel、webpack等等)

  • yarn:

    Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具

    是为了弥补 npm 的一些缺陷而出现的

    React脚手架默认也是使用yarn

脚手架安装

  • 在国内,某些情况使用npm和yarn可能无法正常安装一个库,这个时候我们可以选择使用cnpm

在终端中执行代码:npm install -g cnpm --registry=https://registry.npm.taobao.org

  • 安装创建React项目的脚手架:

在终端中执行代码:npm install -g create-react-app

安装成功与否使用–version关键字来检查(一开始我nt了用了自己真名,就打个马赛克吧)

安装成功提示

创建React项目

创建React项目的命令如下:

终端命令:create-react-app [项目名称]

注意:项目名称不能包含大写字母

  • 创建完成后,进入对应的目录,就可以将项目跑起来:

    终端命令:cd [项目文件]

  • 进入项目生成的文件之后执行

    终端命令:yarn start

成功执行之后会弹出一个页面并且终端显示如下内容:

终端内容
显示页面
其中,执行默认的端口是3000,

顺便提一下其中的一个小插曲,我的默认浏览器一直都是IE,并且在设置成chrome的时候会产生一个闪退的问题,原因是腾讯管家里面有一个浏览器保护,把默认浏览器锁定在了IE,需要在腾讯管家中去改掉默认的浏览器或者是解锁之后再到windows设置里面去改变默认浏览器。

目录结构

目录结构

PWA(此处我只做了解)

  • 概念:

    PWA全称Progressive Web App,即渐进式WEB应用

    PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用

    随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能

  • 解决问题

    可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏

    实现离线缓存功能,使用离线功能

    消息推送

webpack

一个现代 JavaScript 应用程序的静态模块打包器(module bundler)

处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,
然后将所有这些模块打包成一个或多个 bundle

webpack官网
这张图说的挺清楚的(不知道为什么我去官网看到的和老师截的不一样,懵逼)

脚手架中的webpack

React脚手架讲webpack相关的文件给隐藏起来了,如果需要查看,可以进行终端的操作

终端命令:yarn eject

在执行的时候会提醒这个操作是不可逆的,直接输入y就好

不可逆操作提醒
这就是执行代码之后被暴露出来的配置文件了,具体代码可以自行查看
webpack配置文件

文件结构清理

脚手架原本的文档结构过于复杂,为了能够从0开始,需要删除很多不必要的文件内容

  • 1.将src下的所有文件都删除
  • 2.将public文件下出列favicon.ico和index.html之外的文件都删除掉

删除过后的文档结构

清除后的文档结构

代码编写

在src目录下,创建一个index.js文件,因为这是webpack打包的入口

在index.js中开始编写React代码

indexjs代码

在模块化开发中,我们需要手动的来导入React、ReactDOM,因为它们都在我们安装的模块中

如果我们不希望直接在 ReactDOM.render 中编写过多的代码,就可以单独抽取一个组件App.js

indexjs
appjs
注意:由于App.js中需要用到React.createElement的方法,所以此处虽然没有使用React,但是依然需要调用

以上就是脚手架相关的内容了

感谢coderwhy(王红元老师)的课程

爱生活,爱猪猪

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值