React 安装(NPM)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

在开始之前,确保你已经安装了 Node.js 和 npm,你可以通过以下命令检查它们是否已经安装:

node -v
npm -v

如果你的系统还不支持 Node.js 及 NPM 可以参考我们的 Node.js 教程。

我们建议在 React 中使用 CommonJS 模块系统,比如 browserify 或 webpack,本教程使用 webpack。

国内使用 npm 速度很慢,你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

bash 复制代码
$ npm install -g cnpm --registry=https://registry.npmmirror.com
$ npm config set registry https://registry.npmmirror.com

更多信息可以查阅:http://npm.taobao.org/。

使用 create-react-app 快速构建 React 开发环境

React 提供了一个官方工具 Create React App,用于快速搭建 React 项目。

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

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

执行以下命令创建项目:

bash 复制代码
$ cnpm install -g create-react-app
$ create-react-app my-app
$ cd my-app/
$ npm start

也可以使用 npx 命令来创建,npx 是 npm 5.2.0 及更高版本中包含的一个工具,用于执行本地或远程的 npm 包:

npx create-react-app my-app

在浏览器中打开 http://localhost:3000/ ,结果如下图所示:

项目的目录结构如下:

bash 复制代码
my-first-react-app/
├── node_modules/
├── public/
│   ├── favicon.ico
│   ├── index.html
│   ├── logo192.png
│   ├── logo512.png
│   ├── manifest.json
│   └── robots.txt
├── src/
│   ├── App.css
│   ├── App.js
│   ├── App.test.js
│   ├── index.css
│   ├── index.js
│   ├── logo.svg
│   ├── reportWebVitals.js
│   └── setupTests.js
├── .gitignore
├── package.json
├── README.md
└── yarn.lock (或 package-lock.json)

目录和文件说明

node_modules/

存放所有项目的依赖包。这个目录由 npm 或 yarn 自动生成,包含了项目运行所需的所有第三方库和模块。

public/

存放静态文件,Webpack 不会对这个目录中的文件进行处理。public 目录下的文件会被直接复制到构建目录。

favicon.ico:浏览器标签页上的小图标。

index.html:HTML 模板文件,React 组件将被挂载到这个文件中的 div 元素中。

logo192.png 和 logo512.png:不同尺寸的 React logo 图标。

manifest.json:Web 应用清单文件,用于定义应用的名称、图标等元数据。

robots.txt:用于告诉搜索引擎哪些页面可以被抓取。

src/

存放应用的源代码。这里是你主要进行开发的地方。

App.css:App 组件的样式文件。

App.js:主组件文件,定义了一个基础的 React 组件。

App.test.js:App 组件的测试文件。

index.css:全局样式文件。

index.js:应用的入口文件,负责渲染 React 组件到 DOM 中。

logo.svg:React logo 的 SVG 文件。

reportWebVitals.js:用于性能监测的文件,可以帮助你了解和分析应用的性能。

setupTests.js:用于设置测试环境的文件。

.gitignore

列出 Git 应该忽略的文件和目录,例如 node_modules/ 和构建输出的目录。

package.json

项目的配置文件,包含项目信息、脚本、依赖项等。

README.md

项目的自述文件,包含项目的基本信息和使用说明。

yarn.lock 或 package-lock.json

锁定文件,记录了确切的依赖版本,确保在不同环境中安装的依赖一致。

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

javascript 复制代码
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
 
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;

src/index.js 是一个入口文件,我们可以尝试直接修改 src/index.js 文件代码:

注意: React 18 中,ReactDOM.render 被废弃。

javascript 复制代码
import React from 'react';
import ReactDOM from 'react-dom';

function Hello(props) {
  return <h1>Hello {props.name}!</h1>;
}

const root = ReactDOM.createRoot(document.getElementById("root"));
// 渲染 Hello 组件,并传递 name 属性
root.render(<Hello name="World" />);

创建第一个组件

你可以编辑 App.js 文件,创建自己的第一个组件。下面是一个简单的示例,将 App 组件修改为显示 "Hello, React!":

javascript 复制代码
import React from 'react';
import './App.css';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <h1>Hello, React!</h1>
      </header>
    </div>
  );
}

export default App;

保存文件后,浏览器会自动刷新,你应该会看到页面上显示 "Hello, React!"。

你可以在 src 目录中创建更多的组件文件,例如创建一个 Hello.js 文件:

javascript 复制代码
import React from 'react';

function Hello() {
  return <h1>Hello from a new component!</h1>;
}

export default Hello;

然后在 App.js 中导入并使用这个新组件:

javascript 复制代码
import React from 'react';
import './App.css';
import Hello from './Hello';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <Hello />
      </header>
    </div>
  );
}

export default App;

保存文件后,浏览器会自动刷新,你会看到新组件的内容。

相关推荐
nbsaas-boot2 分钟前
消息队列场景下的前端设计:如何优化用户体验
前端·ux
sususugaa5 分钟前
前端框架Vue3——响应式数据,v-on,v-show和v-if,v-for,v-bind
开发语言·前端·vue.js·前端框架
珹洺1 小时前
从 HTML 到 CSS:开启网页样式之旅(三)—— CSS 三大特性与 CSS 常用属性
前端·javascript·css·网络·html·tensorflow·html5
T^T尚6 小时前
uniapp H5上传图片前压缩
前端·javascript·uni-app
出逃日志6 小时前
JS的DOM操作和事件监听综合练习 (具备三种功能的轮播图案例)
开发语言·前端·javascript
XIE3926 小时前
如何开发一个脚手架
前端·javascript·git·npm·node.js·github
GISer_Jing7 小时前
React渲染相关内容——渲染流程API、Fragment、渲染相关底层API
javascript·react.js·ecmascript
山猪打不过家猪7 小时前
React(五)——useContecxt/Reducer/useCallback/useRef/React.memo/useMemo
前端·javascript·react.js
前端青山7 小时前
React事件处理机制详解
开发语言·前端·javascript·react.js
科技D人生7 小时前
Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
前端·vue.js·vue ref·vue ref 响应式·vue reactive