React笔记01——React开发环境准备
1 React简介
2013年由Facebook推出,代码开源,函数式编程、目前使用人数最多的前端框架、健全的文档与完善的社区。
官网:reactjs.org
阅读文档:官网中的Docs
React 16 以上的版本称为React Fiber
2 React开发环境准备与工程目录简介
1)开发环境搭建
1⃣️引用js文件来使用react ——大项目中,性能较低,可维护性较差
2⃣️通过脚手架工具来编码 ——脚手架可以自动构建一个大型项目的开发流程和目录,允许以一定的方式来实现js相互引用;可以使用grunt/gulp/webpack来辅助编写脚手架;
推荐使用官方脚手架工具Create-react-app
脚手架安装:
node.js——脚手架运行环境(nodejs.org);LTS稳定版/Current尝鲜版;
在命令行中运行node -v 或 npm -v,如果都出现了版本号,证明node和node包管理工具都已经安装成功。
macdeAir:~ mac$ node -v
v10.16.3
macdeAir:~ mac$ npm -v
6.9.0
安装脚手架
点击react官网页面上的Get Started按钮 ——> Create a New React App ——> Create React App
页面中有3条命令,依次执行它们
npx create-react-app my-app
cd my-app
npm start
注:执行命令前先进入桌面目录
mac: cd Desktop
windows 在桌面上按住shift点击鼠标右键,会出现一个菜单——在当前目录运行命令行工具
第一条命令:使用create-react-app工具创建一个名为my-app的项目
第三条命令:运行项目环境,会自动打开一个网页
2)工程目录介绍
1⃣️解压my-app压缩包,解压后的代码不能直接运行,因为缺少node modules文件夹
2⃣️在命令行工具中打开项目,进入项目目录下,运行yarn install命令,node modules就安装好了
yarn是什么意思?
项目中有一个yarn.lock文件,项目的依赖需要通过yarn命令来安装;
如果项目中没有yarn.lock文件,就要运行npm install命令来安装
3⃣️通过npm start命令或yarn start命令来运行项目
4⃣️项目中的一些文件介绍
yarn.lock文件
放置的是项目所依赖的第三方模块的相关信息,包含确切的版本号,不要随意更改
README.md文件
项目中全部的说明,可以把默认的说明去掉,换成自己项目的说明
Package.json文件
整个工程的一些配置信息或说明,包括第三方模块相关信息、可以执行的命令(scripts)、代码校验配置(eslintConfig)、项目支持的浏览器信息(browserslist)等
npm start = npm run start
npm build ≠ npm run build ,用来进行对项目的打包
.gitignore文件
不想传到git上的文件配置到这个文件里
node modules目录
项目依赖的所有第三方模块都放在这里,运行yarn install或npm install后自动生成的,不要自己随意更改
public目录
-favoicon.ico文件
标题栏上的小图标,可以换成自己的(网上搜索如何制作ico图片)
-index.html文件
项目html入口
-manifest.json文件
PWA技术,项目中暂时不使用,忽略或删除即可
src目录(*****项目的核心,放置项目的源代码*****)
-index.js文件
项目入口js文件;
项目初始化时就已经安装了react和react-dom第三方模块,在index.js中可以直接使用import导入进来;
使用webpack实现在该文件中通过import引入index.css文件,可选
import引入App(App.js)
import引入serviceWorker(serviceWorker.js),可选
App.js帮助生成页面内容,还需要通过index.js中的ReactDOM.render()这行代码,将内容挂载到页面上
-index.css文件
index.js中引入的css文件
-App.js文件
import引入了react、component
import引入了logo.svg,可选
import引入了App.css,可选
负责渲染页面内容!
-App.test.js文件,可选
项目的自动化测试文件
-App.css文件,可选
页面的css效果
-serviceWorker.js文件,可选
帮助实现PWA的一些功能,不用时可以忽略或删除
-logo.svg文件,可选
项目中用到的svg图片
React笔记01——React开发环境准备的更多相关文章
- 零基础Android学习笔记-01 安卓开发环境搭建
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...
- react + react-router + less +antd 开发环境
react + react-router + less +antd 开发环境搭建 1.基于create-reacte-app,需要先安装这个脚手架,然后初始化项目. 2.进入项目目录,首先 npm r ...
- Hadoop学习笔记(4) ——搭建开发环境及编写Hello World
Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...
- React Native 之 搭建开发环境
现在只能在MAC系统上安装. 1. 首先,HomeBrew 这是一个包管理库,用来下载其它工具. 打开网站:brew.sh 网页有个命令 /usr/bin/ruby -e "$(curl - ...
- 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境
转载请注明出处! 说在前面的话: 1.为什么不使用现成的脚手架?脚手架配置的东西太多太重了,一股脑全塞给你,我只想先用一些我能懂的库和插件,然后慢慢的添加其他的.而且自己从零开始配置也能学到更多的东西 ...
- React Native之配置开发环境
安装前注意: 1)在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题.可以使用下面的命令修复: sudo ch ...
- React + webpack 快速搭建开发环境
因网上大多React + webpack快速搭建的运行不起来,便自行写了一个.在搭建开发环境的前需安装nodejs,npm. 新建一个工作目录,比如叫reactdome,在reactdome目录中运行 ...
- 如何从零搭建一个webpack+react+redux+react-redux的开发环境一入门
阅读本文章的时候,你要有一定的基础知识储备,简单的es6知识,模块化思想知识,js基础知识,node基础知识,react等 首先执行npm init,此时我的文件叫case; 下面安装一些需要的npm ...
- JavaSE 学习笔记01丨开发前言与环境搭建、基础语法
本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...
随机推荐
- flex 强制垃圾回收
java和flash的垃圾回收都是一个比较热门的话题,今天我也用一个例子来测试下flash的强制垃圾回收.主要用到的而一个类是LocalConnection. 在Flash player的debug版 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_10 打印流_1_打印流_概述和使用
system.out就是打印流 System的源码里面out参数就是一个PrintStream类型的 例如路径写的是E盘,.没有e盘这个路径就会抛出异常 用println直接写入的就是97 这个 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_5_文件存储的原理和记事本打开文本显示原理
原理 流对象指向这个文件a.txt 往文件中写数据,写的时候比较特殊 97转换成二进制是多少呢? 输入97然后选择二进制.转换后为 1100001 硬盘上实际存的是97的二进制 97查询阿斯克码表就是 ...
- shell脚本一一项目5
主题:一键查看占用内存.cpu高的进程 echo "----------------cpu top 10 list----------------"ps -eo pid,pcpu, ...
- unique()与nunique()
1 unique() 统计list中的不同值时,返回的是array.它有三个参数,可分别统计不同的量,返回的都是array. 当list中的元素也是list时,尽量不要用这种方法. import nu ...
- struts2 基础5 OGNL、标签、四大域、默认拦截器说明
OGNL表达式 OGNL:对象导抗图语言 OGNL表达式是一个上下文的概念,上下文Map结构 OGNL表达式需要使用#标注命名空间.访问上下文(Context)中的对象需要使用#符号标注命名空间,如# ...
- struts2 基础2 类型转换器
struts2常用常量的定义与意义 每一次请求都会创建一个新的action,所以struts2的action是线程安全的 拆分struts 为应用指定多个struts配置文件 src 下为各应用配置的 ...
- Vue组件父子间通信01
子组件传递数据 用户已经登录 父组件接收数据 并显示列表,未登录不显示列表 /* 有两个组件,分别是main-component,header-component.main-component是由he ...
- protel封装总结(新手必看)
零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置.是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装.像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才 ...
- vue 组件传参
路由配好了 再传个参呗 注:组件信息流转的时候只能单向1 > 父子传参传参:通过属性prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for=&quo ...