当前位置: 首页 > news >正文

react_05create-react-app脚手架详细解析(export)

脚手架是什么?

是一种工具:快速生成项目的工程化结构,让项目从搭建到开发,到部署,整个流程变得快速和便捷。

安装过程:

1.安装node,安装完成后验证版本,出现对应版本就表示成功

node --version
npm --version

2.React脚手架默认是使用yarn 管理,故还需要安装yarn(建议全局安装)

npm install -g yarn

3.安装淘宝镜像

npm install -g cnpm  --registry=https://registry.npm.taobao.org

4.安装React脚手架

npm install -g create-react-app
创建项目:

1.通过终端命令 运行:create-react-app react-demo
2.yarn start 可以将项目跑起来

目录结构分析:
目录结构分析
注意两个特殊文件:

manifest.jsonserviceWorker.js这两个文件都是与PWA(Web App)有关,一般可以不用理会,除非你要做离线功能。

验证脚手架是基于webpack:

在目录中并看不到相关webpack的相关配置,因为脚手架默认隐藏了配置,若你需要看到相关配置信息,则可以通过package.json中的命令:yarn eject 来进行查看,并且此操作不可逆(执行后目录结构会改变,无法变回来)

从0体验创建过程:
  • es6导入导出
//情形一
export function sum(a,b){return a+b
}
export function mul(a,b){return a*b
}
//在另外的文件中引用
import{sum,mul} from './xxx'
//情形二
export default function sum(a,b){return a+b
}
//引用
import sum from './xxx'
  • 标签自动补全插件:htmltagwrap
  • 正式开始新建工程
    1.创建完后删除不必要的文件,值保留public文件夹下index.html,src目录下全删,然后新建index.js空白文件


    空白工程

    2.我们知道项目的入口是index.js,现在里面是空白的,运行项目页面肯定是空白的,接下来在里面添加内容。

import React from 'react';// 渲染jsx<h2>Hello,World</h2>,实际上是react.createElement,所以React也是要导入
import ReactDOM from 'react-dom';//ReactDOM.render需要,所以得导
ReactDOM.render(<h2>Hello,World</h2>,document.getElementById("root"))

此时运行项目发现页面可以正常展示项目了,但是我们一般会采用组件化方式来开发,需要进行部分修改

  • 优化第一步:
    index.js
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component{constructor(){super();this.state={counter:10}}render(){return  (<div>      <h2>{this.state.counter}</h2></div>)}
}
ReactDOM.render(<App/>,document.getElementById("root"))

此时重新运行项目,项目正常,只不过由原来的小段jsx变为渲染app组件。


  • 优化第二步:
    抽离出app.js
import React from 'react';
export default class App extends React.Component{constructor(){super();this.state={counter:101}}render(){return  (<div>      <h2>{this.state.counter}</h2></div>)}
}

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './app'
ReactDOM.render(<App/>,document.getElementById("root"))

此时模块化已经初具雏形


  • 优化第三步
    app.js
// import React from 'react';
// const {Component} = React;
import React, {Component} from 'react';//这样更加简洁,并且import React 这不可省略,因为下面render函数需要用
export default class App extends Component{constructor(){super();this.state={counter:10}}render(){return  (<div>      <h2>{this.state.counter}</h2></div>)}
}

完工!

最后编辑于:2025-06-15 11:02:58


喜欢的朋友记得点赞、收藏、关注哦!!!

http://www.dtcms.com/a/319053.html

相关文章:

  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的微商产品经营策略研究
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的用户留存策略研究
  • iOS 文件管理实战指南,用户文件、安全访问与开发调试方案
  • Socket 编程预备
  • 拥抱云原生:从传统架构到云原生架构的演进与实践
  • 算法题(182):滑动窗口
  • mysql基础-分组查询
  • 全面解析 URL 重定向原理:从协议、实现到安全实践
  • 【物联网】基于树莓派的物联网开发【24】——树莓派安装influxDB时序数据库
  • 套接字编程UDP
  • Android-Kotlin基础(Jetpack③-LiveData)
  • 数据结构初阶(4)栈
  • Python生成统计学公式
  • 数据结构:双向链表(Doubly Linked List)
  • 快速搭建开源网页编辑器(vue+TinyMCE)
  • 大屏数据展示页面,数据可视化可以用到的框架和插件
  • 剧本杀小程序系统开发:推动社交娱乐产业创新发展
  • requests模块
  • Web3.0引领互联网未来,助力安全防护升级
  • 基于django的非物质文化遗产可视化网站设计与实现
  • 重学React(三):状态管理
  • Java如何快速实现短信登录?
  • 【指南版】网络与信息安全岗位系列(三):安全运维工程师
  • 农作物优选,耕耘希望的田野
  • Vue3获取当前页面相对路径
  • 008 前端vue
  • Android-Kotlin基础(Jetpack①-ViewModel)
  • 【遥感图像入门】近三年遥感图像建筑物细粒度分类技术一览
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第七天(Vue)(二)
  • Tiger任务管理系统-10