React工程目录简介

通过React脚手架创建的项目,共会有以下文件

.git
node_modules
public
src
.gitignore
package.json
package-lock.json
README.md

.git 与 .gitignore

.git是git初始化文件,.gitignore中的文件不会被存储至git中
.gitignore中的默认文件路径是脚手架生成的

node_modules

此目录下存放所有依赖的第三方模块,一般不会手动更改

public

public下分别有3个文件favico.ico、index.html、manifest.json,除此以外public文件中主要用来存放不会发生改动的静态文件

favico.ico

网页title左侧的logo小图标文件

index.html

网页初始页面,一般不会发生改动

manifest.json

用于提供应用程序相关描述的文件,如果只是网页应用可以将其删除,并在index.html删除引用,此文件只有需要支持移动设备时才会发挥作用

src

src文件用来存放我们所有编写的代码,脚手架生成的默认文件如下

App.css
App.js
App.test.js
index.css
index.js
logo.svg
reportWebVitals.js
setupTests.js

index.js

所有代码的入口js文件,被public文件中的index.html引入
文件中只包含 要渲染什么?渲染在哪里?的js代码

index.css

在index.js中被引入,是index.html的css文件

App.js

脚手架生成的React应用的根组件,在组件树的最顶层,在index.js中被引用是index.js中要渲染的内容

App.test.js

项目自动化测试的文件

App.css

样式文件,被App.js引用

logo.svg

脚手架生成的Reactlogo

reportWebVitals.js

该文件是React新添加的文件,主要用于采集用户访问网站时的相关质量指标,其中包括

CLS

CLS:累计布局偏移
指的是用户加载网页时网页布局的偏移量,比如一张图片高度300px,但是进入网页没有第一时间加载,也没有留出空白内容,则图片加载后会多出300px的布局偏移量
得分0-1

FID

FID:首次输入延迟
指的是用户进入网页后首次与网页发生互动(点击链接、按钮)并接收到服务器响应中间花费的时间

FCP

FCP:首次内容绘制
用于记录浏览器渲染第一个DOM内容的时间点

LCP

LCP:最大内容渲染时间
用于记录打开网页后渲染最大内容完毕的时间,最大内容一般是大段文本、图像等

TTFB

TTFB:首字节到达的时间点

setupTests.js

此文件用于编写此项目测试代码,可直接删除

package.json 与 package-lock.json/yarn.lock

package.json

用于存储项目的具体信息,包括项目名、项目版本号、项目依赖模块

  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.2",
    "@testing-library/react": "^12.1.4",
    "@testing-library/user-event": "^13.5.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "5.0.0",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

同时包含eslint的配置,默认是继承的react-app的设置

  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },

同时对于支持的浏览器进行了说明,这一部分如果你想知道每句话对应哪些浏览器,可在Can i use中查询

"browserslist": {
    "production": [
      ">0.2%", 支持市场占有率超过0.2%的浏览器
      "not dead", 不支持全球使用比例不到0.5%并且1年内没有更新过的
      "not op_mini all" 不支持opera mini
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }

package-lock.json/yarn.lock

根据你使用的是npm还是yarn会分别生成对应的package-lock.json或yarn.lock
此文件用于记录项目依赖的第三方模块的具体版本号和模块信息
一般不需要手动进行修改,每次npm install/yarn install时会自动更新,如果手动修改出错,整个项目的依赖都会出现问题

README.md

用来存放对项目的说明,默认会有一些脚手架生成的信息,可以全部删除自己进行编写

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值