React环境安装与配置完全解析

内容导读

1、react简介与安装

2、通过网络导入方式CDN构建应用

3、使用create-react-app快速构建React应用

一、react简介与安装

1.1 react的简介

React是一个用于构建用户界面的js库

React主要用于构建ui

React起源于Facebook的内部项目

React拥有较高的性能,代码逻辑非常简单

解决前端大量数据的更新,组件复用等

1.2 react安装与配置

官网:React – A JavaScript library for building user interfaces

中文网站:https://tianxiangbing.github.io/react-cn/index.html

1、网络导入

<!--1.第一种配置,使用字节的react CDN库-->

<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/react/18.2.0/umd/react.production.min.js" ></script>
  <script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
  <script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/babel-standalone/6.26.0/babel.min.js" ></script>

<!--2.第二种配置,使用 Staticfile CDN -->

<script src="https://cdn.staticfile.org/react/18.2.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/18.2.0/umd/react-dom.development.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>

<!--3.第三种配置,使用官方CDN-->

<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

2、通过npm安装React

(1)安装node.js

下载:https://nodejs.org/en/download/

双击下载:node-v22.14.0-x64.msi文件按提示完成安装

(2)通过npm安装react

国内使用npm速度很慢,我们可以使用淘宝定制的cnpm(gzip压缩支持)

命令行工具代替默认的npm

管理员身份运行:

npm install -g cnpm --registry=https://registry.npmmirror.com
npm config set registry https://registry.npmmirror.com

退出node方式:ctrl+d与.exit

这样就可以使用cnpm命令来安装模块了:

cnpm install [name]

建议使用:npm install [name]

二、通过网络导入方式CDN构建应用

HBuilder中构建网页文件index.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React!</title>
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/react/18.2.0/umd/react.production.min.js" ></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/babel-standalone/6.26.0/babel.min.js" ></script>
</head>
<body>
 
<div id="app"></div>
<script type="text/babel">
// 简单的React函数组件
function App() {
    return <h1>Hello, React!</h1>;
}
 
const root = ReactDOM.createRoot(document.getElementById("app"));
// 渲染React 组件到 DOM
root.render(<App />);
</script>
 
</body>
</html>
</script>
 
</body>
</html>

案例解析如下:

实例中我们引入了三个库: react.production.min.js 、react-dom.production.min.js 和 babel.min.js:
react.min.js:React的核心库
react-dom.min.js:提供与DOM相关的功能
babel.min.js:Babel可以将ES6代码转为ES5代码,这样我们就能在目前不支持ES6浏览器上执行React代码。Babel 内嵌了对 JSX 的支持。通过将 Babel 和 babel-sublime 包(package)一同使用可以让源码的语法渲染上升到一个全新的水平。

三、使用create-react-app快速构建React应用

1、create-react-app

是来自于Facebook,通过该命令我们无需配置就能快速构建React开发环境

2、create-react-app自动创建的项目是基于Webpack+ES6

执行以下命令创建项目:

cnpm install -g create-react-app

create-react-app my-app

cd my-app

npm start

在浏览器中打开http://localhost:3000/,效果如下:

说明:也可以使用npx命令安装并生成react应用

执行如下命令:

cd my-app
npm start

打开项目,效果同上:

3、通过HBuilder打开my-app项目

项目结构如下:

试着修改src/App.js文件代码:

//导入库
import React,{Component}from 'react';
import logo from './logo.svg';
import './App.css';
// //函数式组件
// function App() {
//   return (
//     <div className="App">
//       <header className="App-header">
//         <img src={logo} className="App-logo" alt="logo" />
//         <p>
//           Edit <code>src/App.js</code> and save to reload.
//         </p>
//         <a
//           className="App-link"
//           href="https://reactjs.org"
//           target="_blank"
//           rel="noopener noreferrer"
//         >
//           欢迎来到超客学院
//         </a>
//       </header>
//     </div>
//   );
// }

// 类方式组件
class App extends Component{
  render(){return(<div className="App">
    <div className="App-header">
    <img src={logo} className="App-logo" alt="logo"/>
    <h2>欢迎来到超客学院</h2>
    </div>
    <p className="App-intro">在<code>src/App.js</code>文件中修改</p>
    </div>);       }  
}
export default App;

index.js入口文件内容:

//导入库
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
//创建DOM根对象
const root = ReactDOM.createRoot(document.getElementById('root'));
//渲染或加载组件
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
//性能监测
reportWebVitals();

再次打开http://localhost:3000/输出结果:

说明:生成项目输出文件使用npm run build

4、扩展练习

React实现定时器功能

<script type="text/babel">
  function changeTime(){
     // 创建一个元素,并输出当前的时间
   const ps={
   'font-size':26,
   'color':'blue'
     }
   const el=<p style={ps}>{
     // 获取部分时间
    new Date().toLocaleTimeString()
    }</p>
     // 渲染元素
    ReactDOM.render(el,document.getElementById("time"))
  }
// 设置定时器
setInterval(changeTime,1000);
</script>

四、实战练习

1、通过不同方式安装react

2、参考案例源码,运用react完成用户登录与注册页面

更多精彩内容请持续关注本站!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值