如何创建React项目

2023-11-14

前言

构建React项目的几种方式:

  • create-react-app 脚手架快速搭建 react 项目(推荐)
  • yeoman 脚手架搭建 react 项目
  • webpack 一步一步构建 react 项目

脚手架是什么

脚手架是一种约定和规范。可以实现如下规范:

  • 相同的文件组织结构;
  • 相同的开发范式;
  • 相同的模块依赖;
  • 相同的工具配置;
  • 相同的基础代码;

 然后脚手架将这些重复性的约定、规范全部都集成起来,减少这样无意义的操作。

create-react-app 脚手架快速搭建 React 项目

Create React App 中文文档

要求:Node >= 8.10 并且 npm >= 5.6

1、安装 create-react-app 

npm install -g create-react-app

2、检测 create-react-app 是否安装成功

create-react-app -V

3、创建 React 项目

npx create-react-app my-app
cd my-app
npm start

说明:npx 是 npm 5.2+ 附带的 package 运行工具。

默认,create react app 创建的项目是看不到 webpack 相关的配置的,如果熟悉 webpack 的小伙伴,知道 package.json 中的配置会很多,而react脚手架中的 package.json 中,依赖为什么这么少。

这是因为像 webpack,babel 等等都是被 creat react app 封装到了 react-scripts 这个项目当中,包括基本启动命令 都是通过调用 react-scripts 这个依赖下面的命令进行启动的。

npm run eject 会将原本 creat react app 对 webpack、babel 等相关配置的封装弹射出来。

如果我们要将 creat react app 配置文件进行修改,现有目录下是没有地方修改的。此时,我们就可以通过 eject 命令将原本被封装到脚手架当中的命令弹射出来,然后就可以在项目的目录下看到很多配置文件。但这个操作是不可逆的,我们无法再通过其他方式将这些暴露出来的配置还原回去。

npm run eject

Yeoman 脚手架搭建 React 项目

1、Yeoman是什么?

Yeoman 最初发布于 2012 年,是一款高效、开源的 Web 应用脚手架(scaffolding)软件,意在精简软件的开发过程。

Yeoman 是现代化前端项目的脚手架工具,可以根据一套模板用于生成包含指定框架结构的工程化目录结构。它是整个前端自动化工厂的第一站,灵活而且很容易扩展。

不同于 vue-cli 这样的工具。Yeoman 更像是一个脚手架的运行平台,可以通过 Yeoman 搭配不同的 generator 去创建任何类型的项目。也就是说我们可以通过创建自己的 generator 从而去定制属于我们自己的前端脚手架。

随着前端工程化的理念不断深入,越来越多的人选择使用脚手架来从零到一搭建自己的项目。随着业务的不断发展,必然会出现需要针对业务开发的实际情况来进行调整。

总而言之,随着业务发展,我们往往会沉淀出一套更“个性化”的业务方案。这时候我们最直接的做法就是开发出一个该方案的脚手架来,以便今后能复用这些最佳实践与方案。

  • Yeoman 提供了一种灵活创建、开发、编译和调试 Web 应用的脚手架(scaffolding)软件。
  • 虽然 Yeoman 本身是 JavaScript 编写的,但适用于任何语言编写的应用。
  • Yeoman 支持与 Webpack、Babel、TypeScript、React 和 Angular 等多种第三方软件库的无缝集成。
  • Yeoman 内建立有一个基于 Node.js 的 HTTP 开发服务器,简化了开发环境的设置和开发过程的迭代。
  • Yeoman 实现构建过程由开发环境到优化后生产环境间的无缝转移。

Yeoman 其实是3个工具的总和:

  • yo — 脚手架,自动生成工具;
  • Gruntgulp — 构建工具 (最初只有grunt,后面gulp火了添加进来的);
  • Bowernpm — 包管理工具 (原来是 bower,后面添加了npm);

上面的三个是各自独立发展和运行的,混合后效果就不一样,主要在于yo,相当于一个粘合剂一样,把grunt这些工具粘合在一起。

2、安装 Yeoman

npm install -g yo //权限不够,请加上 sudo,一般来说mac都需要。

3、安装 generator 模板

npm install -g generator-react-webpack

4、创建 React 项目

创建一个文件夹

mkdir my-new-project && cd my-new-project

用生成器生成我们的项目目录

yo react-webpack

 运行 React 项目

npm start

拓展阅读

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建React项目 的相关文章

随机推荐

  • 记录:查看ubuntu版本信息。

    cat proc version uname a lsb release a WSL Ubuntu 20 04运行结果 lsb release a 查看Release和Codename uname a 内核版本和操作系统32 64位 cat
  • 32位机内存管理(下)

    既然这样 段描述符表放在那里呢 80386中引入了两个新的寄存器来管理描述符表 一个是48位的全局描述符表寄存器GDTR 一个是16位的局部描述符表寄存器LDTR 那么 为什么有两个描述符表寄存器呢 GDTR指向的描述符表为全局描述符表GD
  • 数据库原理 封锁的粒度

    1 封锁粒度是什么 封锁对象的大小称为封锁的粒度 封锁对象 逻辑单元 物理单元 2 选择封锁粒度的原则 封锁粒度和系统的并发度 系统的开销密切相关 封锁的粒度越大 数据库能够封锁的数据单元就越少 并发度就越小 系统开销也就越小 封锁的粒度越
  • Android三维模型解决方案

    1 原生OpenGL ES 无需多说 虽然OpenGL已经出来这么多年了 但无疑还是现在普及最广的 尤其在移动端 所以用原生OpenGL ES方案可以解决 2 jpct 最推荐 JPCT是一款基于OpenGL技术开发的3D图形引擎 PC环境
  • 数据迁移-jdbc

    1 jdbc工具类 import java io BufferedInputStream import java io FileInputStream import java io InputStream import java util
  • nginx的https和http共存反向代理配置

    一 设置http反向代理 正在上传 重新上传取消 upstream ly com server 192 168 1 100 88 server 192 168 1 101 88 upstream home ly com server 192
  • Git本地项目推送到远程仓库

    目录 1 初始化git 2 添加远程地址并给地址起一个别名 3 合并远程代码 4 推送 5 常见问题 6 无法推送 7 查看远程仓库信息 8 拉取与本地不相关的git项目 9 配置ssh公钥 1 初始化git 进入项目目录 git init
  • np.mgrid

    功能 返回多维结构 常见的如2D图形 3D图形 np mgrid 第1维 第2维 第3维 第n维的书写形式为 a b c c表示步长 为实数表示间隔 该为长度为 a b 左开右闭 或 a b cj cj表示步长 为复数表示点数 该长度为 a
  • R语言实战笔记--第十六章 高级图形进阶

    R语言实战笔记 第十六章 高级图形进阶 标签 空格分隔 R语言 lattice 交互式图形 图形系统简介 本文为R语言实战中最后一章 介绍的是图形的高级进阶 主要讲述了两个包 lattice和ggplot2 以及交互式图形的做法 极大扩展了
  • NacosSpringCloud

    Nacos尝试配置SpringCloud 新来了一个项目 有并发要求 选择了springcloud这套 至于eureka已经闭源了 就没有考虑 最后选择了阿里的nacos 服务发现和配置中心都集中在注册中心 配置支持动态加载 中文文档丰富
  • 视频质量算法有几种的介绍,视频质量技术及编码

    首先介绍SSIM是一种全参考 Full Rerence 视频质量评价算法 全参考视频图像质量评价指标 它分别从亮度 对比度 结构三方面度量视频图像相似性 而全参考评价算法必须同时知道原始视频和失真视频 也就是想计算结构相似度 就得先找到两个
  • 打开win7的系统更新服务器失败,win7的windows update无法启动,手动在服务里启动提示“错误2:系统找不到指定文件...

    您好 该问题有可能是系统文件损坏导致的 建议您尝试以下方法操作 方法一 建议您暂时卸载掉电脑上安装的第三方杀毒软件 再打开控制面板 操作中心 疑难解答 点使用Windows Update 解决问题 根据提示自动修复更新是出现的问题 方法二
  • 关于HttpClient请求获取数据

    httpClient请求获取网站数据 今天一网友问我 他写的httpClient请求为什么获取不到数据 他写的代码如下 StringBuffer buffer new StringBuffer String url1 http api ji
  • 深入云存储系统Swift核心组件:Ring实现原理剖析

    深入云存储系统Swift核心组件 Ring实现原理剖析 简介 OpenStack是一个美国国家航空航天局和Rackspace合作研发的开源云计算项目 并成为Apache下的一个重要开源项目 目前已经发展到了180家公司参与其中 OpenSt
  • MySQL学习笔记

    Windows服务 启动MySQL net start mysql 创建Windows服务 sc create mysql binPath mysqld bin path 注意 等号与值之间有空格 连接与断开服务器 mysql h 地址 P
  • 改造QTabWidget的QTabBar,自绘随意控制样式,不同颜色

    1 简介 本文介绍通过自绘 随意定制QTabWidget的 TabBar的方法 可设置不同Tab页的不同背景色 前景色 边框 鼠标三态色 尺寸 以及绘制其他自定义内容 如角标 2 效果 3 主要思路 继承QTabBar 改尺寸就是重写 ta
  • CSDN周赛60期简要题解

    一转眼 周赛都举办了60期了 还以为可以 寿终正寝 了 结果61期又安排上了 打开一看 还是 计算之魂 主题的周赛 还是这种 4 非编程 2 编程 的题型 可能目前就指望着 计算之魂 主持大局 了 C 站的有生力量全扑在研发 开发各种各样酷
  • Remix 以太坊Solidity IDE搭建与初步使用

    以太坊 因为以太坊为开源社区 虽然东西很优秀 但是组件十分的杂乱 因此首先简单介绍下以太坊的一些常用组件 1 Geth Geth是由以太坊基金会提供的官方客户端软件 用Go编程语言编写的 2 Parity Parity 是对以太坊协议的另一
  • Centos7安装后没有图形界面

    Centos7虚拟机安装好后重启只能进到命令行不能进入图形界面 原因 安装时没有安装图形界面 选择了Minimal Install 解决方法 安装过程中将设置SOFTWARE SELECTION勾选GNOME Desktop gt Deve
  • 如何创建React项目

    前言 构建React项目的几种方式 create react app 脚手架快速搭建 react 项目 推荐 yeoman 脚手架搭建 react 项目 webpack 一步一步构建 react 项目 脚手架是什么 脚手架是一种约定和规范