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开发环境准备的更多相关文章

  1. 零基础Android学习笔记-01 安卓开发环境搭建

    安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...

  2. react + react-router + less +antd 开发环境

    react + react-router + less +antd 开发环境搭建 1.基于create-reacte-app,需要先安装这个脚手架,然后初始化项目. 2.进入项目目录,首先 npm r ...

  3. Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

    Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...

  4. React Native 之 搭建开发环境

    现在只能在MAC系统上安装. 1. 首先,HomeBrew 这是一个包管理库,用来下载其它工具. 打开网站:brew.sh 网页有个命令 /usr/bin/ruby -e "$(curl - ...

  5. 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境

    转载请注明出处! 说在前面的话: 1.为什么不使用现成的脚手架?脚手架配置的东西太多太重了,一股脑全塞给你,我只想先用一些我能懂的库和插件,然后慢慢的添加其他的.而且自己从零开始配置也能学到更多的东西 ...

  6. React Native之配置开发环境

    安装前注意: 1)在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题.可以使用下面的命令修复: sudo ch ...

  7. React + webpack 快速搭建开发环境

    因网上大多React + webpack快速搭建的运行不起来,便自行写了一个.在搭建开发环境的前需安装nodejs,npm. 新建一个工作目录,比如叫reactdome,在reactdome目录中运行 ...

  8. 如何从零搭建一个webpack+react+redux+react-redux的开发环境一入门

    阅读本文章的时候,你要有一定的基础知识储备,简单的es6知识,模块化思想知识,js基础知识,node基础知识,react等 首先执行npm init,此时我的文件叫case; 下面安装一些需要的npm ...

  9. JavaSE 学习笔记01丨开发前言与环境搭建、基础语法

    本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...

随机推荐

  1. flex 强制垃圾回收

    java和flash的垃圾回收都是一个比较热门的话题,今天我也用一个例子来测试下flash的强制垃圾回收.主要用到的而一个类是LocalConnection. 在Flash player的debug版 ...

  2. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_10 打印流_1_打印流_概述和使用

    system.out就是打印流 System的源码里面out参数就是一个PrintStream类型的 例如路径写的是E盘,.没有e盘这个路径就会抛出异常 用println直接写入的就是97    这个 ...

  3. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_5_文件存储的原理和记事本打开文本显示原理

    原理 流对象指向这个文件a.txt 往文件中写数据,写的时候比较特殊 97转换成二进制是多少呢? 输入97然后选择二进制.转换后为 1100001 硬盘上实际存的是97的二进制 97查询阿斯克码表就是 ...

  4. shell脚本一一项目5

    主题:一键查看占用内存.cpu高的进程 echo "----------------cpu top 10 list----------------"ps -eo pid,pcpu, ...

  5. unique()与nunique()

    1 unique() 统计list中的不同值时,返回的是array.它有三个参数,可分别统计不同的量,返回的都是array. 当list中的元素也是list时,尽量不要用这种方法. import nu ...

  6. struts2 基础5 OGNL、标签、四大域、默认拦截器说明

    OGNL表达式 OGNL:对象导抗图语言 OGNL表达式是一个上下文的概念,上下文Map结构 OGNL表达式需要使用#标注命名空间.访问上下文(Context)中的对象需要使用#符号标注命名空间,如# ...

  7. struts2 基础2 类型转换器

    struts2常用常量的定义与意义 每一次请求都会创建一个新的action,所以struts2的action是线程安全的 拆分struts 为应用指定多个struts配置文件 src 下为各应用配置的 ...

  8. Vue组件父子间通信01

    子组件传递数据 用户已经登录 父组件接收数据 并显示列表,未登录不显示列表 /* 有两个组件,分别是main-component,header-component.main-component是由he ...

  9. protel封装总结(新手必看)

    零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置.是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装.像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才 ...

  10. vue 组件传参

    路由配好了 再传个参呗 注:组件信息流转的时候只能单向1 > 父子传参传参:通过属性prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for=&quo ...