React 安装(NPM)

简介: 10月更文挑战第6天

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

node -v

npm -v

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

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

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

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

$ npm config set registry https://registry.npmmirror.com

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

$ cnpm install [name]

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


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

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

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

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

执行以下命令创建项目:

$ 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/ ,结果如下图所示:

项目的目录结构如下:

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.pnglogo512.png:不同尺寸的 React logo 图标。
  • manifest.json:Web 应用清单文件,用于定义应用的名称、图标等元数据。
  • robots.txt:用于告诉搜索引擎哪些页面可以被抓取。

src/

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

  • App.cssApp 组件的样式文件。
  • App.js:主组件文件,定义了一个基础的 React 组件。
  • App.test.jsApp 组件的测试文件。
  • index.css:全局样式文件。
  • index.js:应用的入口文件,负责渲染 React 组件到 DOM 中。
  • logo.svg:React logo 的 SVG 文件。
  • reportWebVitals.js:用于性能监测的文件,可以帮助你了解和分析应用的性能。
  • setupTests.js:用于设置测试环境的文件。

.gitignore

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

package.json

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

README.md

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

yarn.lockpackage-lock.json

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

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

src/App.js

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;

修改后,打开 http://localhost:3000/ (一般自动刷新),输出结果如下:

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

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

实例

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" />);

这时候浏览器打开 http://localhost:3000/ 就会输出:

Hello World!


创建第一个组件

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

实例

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 文件:

Hello.js 文件代码:

import React from 'react';


function Hello() {

 return <h1>Hello from a new component!</h1>;

}


export default Hello;

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

实例

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;

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

目录
相关文章
|
3月前
|
缓存 资源调度 持续交付
在清空NPM缓存后,检查是否所有依赖都已正确安装
在清空NPM缓存后,检查是否所有依赖都已正确安装
|
1月前
|
前端开发 JavaScript CDN
React 安装(CDN)
10月更文挑战第6天
43 2
|
1月前
|
缓存 资源调度 持续交付
在清空NPM缓存后,我如何检查是否所有依赖都已正确安装?
【10月更文挑战第5天】在清空NPM缓存后,我如何检查是否所有依赖都已正确安装?
|
1月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
233 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
27天前
|
缓存 JavaScript 前端开发
拿下奇怪的前端报错(三):npm install卡住了一个钟- 从原理搞定安装的全链路问题
本文详细分析了 `npm install` 过程中可能出现的卡顿问题及解决方法,包括网络问题、Node.js 版本不兼容、缓存问题、权限问题、包冲突、过时的 npm 版本、系统资源不足和脚本问题等,并提供了相应的解决策略。同时,还介绍了开启全部日志、使用替代工具和使用 Docker 提供 Node 环境等其他处理方法。
345 0
9-14|npm install --global windows-build-tools 安装太慢了,能够指定国内源
9-14|npm install --global windows-build-tools 安装太慢了,能够指定国内源
|
3月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
前端开发 开发工具 git
全局安装react
全局安装react
16 1
|
3月前
|
缓存 资源调度 持续交付
在清空NPM缓存后,如何检查是否所有依赖都已正确安装
在清空NPM缓存后,如何检查是否所有依赖都已正确安装
|
3月前
|
前端开发
React——开发调式工具安装【五】
React——开发调式工具安装【五】
31 0
React——开发调式工具安装【五】