react的官网:React
用于构建用户界面的 JavaScript 库,它也是一个渐进式的用于构建用户界面的javascript框架
声明式:使用原生JS编写的页面存在着开发效率低下、性能较差的情况,使用react大家就向编写HTML的一样编写页面
组件化:使用组件的思想编写程序是现代企业开发的一种思路、让组件达到复用效果、大大提高开发效率,让项目具有可维护性和扩展性。
一次学习,跨平台编写
使用react不仅能够编写WEB应用
react还可以编写移动应用(react-native)
react完成VR(虚拟现实)(react 360)
React主要是在为了构架Instagram,2013年5月的时候,把React框架开源了,React整个生态,可以做到编写一套代码,可以运行到多端,除了可以开发web应用之外,也可以开发移动端应用等。
使用create-react-app脚手架来完成react项目的创建,这里使用npx命令来进行创建
npx create-react-app 项目名称
|-node-modules:第三方依赖包
|-public:资源文件
|-index.html:页面出口文件
|-src:源文件
|-index.js:项目入口文件
|-package.json:项目描述文件
创建完成之后,我们来看package.json中相关配置
react:react框架的核心包
react-dom:react视图渲染的核心包(通过React构建的WEB应用)
react-scripts:包含运行和打包react应用程序的所有脚本及配置
使用
create-react-app
创建的项目默认是无法修改其内部的webpack
配置的,不像vue-cli
那样可以通过一个配置文件修改,这是为了让项目目录看起来干净简洁,把项目的打包规则以及相关的插件/loader等都隐藏到了node_modules目录下,react-scripts是脚手架中对打包命令的一种封装,基于它打包,会调用node_modules中的webpack等进行处理。
start:"react-scripts start":开发环境:在本地启动web服务
"build": "react-scripts build":打包命令,打包的内容输出到dist目录下
"test": "react-scripts test":单元测试命令
"eject": "react-scripts eject":暴漏webpack配置规则
浏览器兼容性规则
"browserslist": {
"production": [
">0.2%", 全球超过0.2%的人使用的浏览器
"not dead", 还存活着的
"not op_mini all" 不考虑op_mini浏览器的全部版本的兼容性
],
"development": [
"last 1 chrome version",表示兼容到谷歌的上一个版本
"last 1 firefox version",表示兼容到火狐的上一个版本
"last 1 safari version" 表示兼容到safari的上一个版本
]
}
Browserslist:可以在这个网站比较方便查看目标浏览器范围百分比
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 , yarn 包管理器,和 npm 的作用一模一样。都是用来管理项目中 node_modules
目录中的所有依赖包 Yarn 是为了弥补 npm 的一些缺陷而出现的
yarn的官方: Yarn 中文文档
在终端上执行如下命令进行全局安装yarn
npm i -g yarn
安装完成之后,可以执行如下命令查看yarn的版本
yarn --version
yarn init
yarn add [package] //下载最新版本
yarn add [package]@[version] //下载具体的版本
yarn add [package] --dev //下载的是运行时的依赖
yarn global add [package] //全局下载
yarn remove [package]
yarn
或者
yarn install
设置yarn的淘宝镜像
yarn config set registry https://registry.npm.taobao.org
查看镜像源
yarn config get registry
配置node-sass镜像
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass
yarn global dir
如果要修改create-react-app脚手架的默认配置,有如下方案
通过执行yarn eject
命令,释放react-scripts
中的所有配置到项目中,但这是一个不可逆的操作,同时也会失去CRA
带来的便利和后续升级
通过第三方库来修改,比如@craco/craco
安装修改CRA的配置的包
yarn add -D @craco/craco
修改packge.json中的脚本命令
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
}
在项目的根目录中创建craco的配置文件(craco.config.js),用于修改默认配置
module.exports={
}
在craco.config.js中配置如下
process.env.PORT=3002
在项目的根目录中创建craco的配置文件(craco.config.js),并在配置中配置别名
const path=require('path')
module.exports={
webpack:{
alias:{
'@':path.resolve(__dirname,'src')
}
}
}
在代码中,就可以通过@来表示src目录的绝对路径
重启项目,让配置生效
在项目的根目录下创建jsconfig.json配置文件,并在项目中添加如下提示
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*":["src/*"]
}
}
}
在vscode的扩展中搜索"px-to-vw",安装
在vscode---->设置---->输入px-to-vw---->在里面输入设计稿宽度,即可通过插件进行单位自动转化
按住键盘alt + z
快捷键,可以看到px单位被自动转换为vw单位了
在Normalize.css: Make browsers render all elements more consistently.官网上下载normalize.css
在assets中定义normalize.css,将下载好的normalize.css内容复制进来
然后在App.scss页面中引入
@import url('./assets/reset.css');