当前位置:首页 > React

如何搭建react工程

2026-01-23 21:18:32React

使用 Create React App 搭建工程

Create React App (CRA) 是官方推荐的快速搭建 React 项目的工具,无需配置构建工具链。

安装 Node.js 和 npm(或 yarn)后,运行以下命令创建新项目:

npx create-react-app my-app
cd my-app
npm start

项目默认包含开发服务器、Babel 转译和 Webpack 打包配置。src/index.js 是入口文件,public/index.html 是模板文件。

手动配置 Webpack + Babel

如需自定义构建流程,可手动配置:

安装基础依赖:

npm init -y
npm install react react-dom
npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react

创建 webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env', '@babel/preset-react']
          }
        }
      }
    ]
  },
  devServer: {
    static: './dist'
  }
};

添加 TypeScript 支持

使用 Create React App 的 TypeScript 模板:

npx create-react-app my-app --template typescript

或手动配置需额外安装:

如何搭建react工程

npm install --save-dev typescript @types/react @types/react-dom

创建 tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": ["src"]
}

集成 CSS 预处理

安装 Sass 支持:

npm install sass

文件可直接命名为 .scss,Webpack 会自动处理。

如需 CSS Modules,在 Webpack 配置中添加:

如何搭建react工程

{
  test: /\.module\.scss$/,
  use: [
    'style-loader',
    {
      loader: 'css-loader',
      options: {
        modules: true
      }
    },
    'sass-loader'
  ]
}

配置路由

安装 React Router:

npm install react-router-dom

基础路由配置示例:

import { BrowserRouter, Routes, Route } from 'react-router-dom';

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </BrowserRouter>
  );
}

状态管理方案

Redux 安装与配置:

npm install @reduxjs/toolkit react-redux

创建 store:

import { configureStore } from '@reduxjs/toolkit';

export const store = configureStore({
  reducer: {
    // 添加reducer
  }
});

通过 Provider 注入组件树:

import { Provider } from 'react-redux';
import { store } from './app/store';

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
);

标签: 工程react
分享给朋友:

相关文章

react如何更新

react如何更新

更新 React 版本的方法 检查当前 React 版本 运行以下命令查看项目中安装的 React 版本: npm list react 更新 React 及相关依赖 通过 npm 或 yarn…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

react如何通信

react如何通信

React 组件通信方式 React 组件间的通信方式多样,具体选择取决于组件关系和场景需求。以下是常见方法: 父子组件通信 父组件通过 props 向子组件传递数据,子组件通过回调函数通知父组件…

react 如何精通

react 如何精通

掌握核心概念 深入理解React的基础概念,包括组件(函数组件与类组件)、状态(useState)、生命周期(useEffect)、Props传递、虚拟DOM与Diff算法。通过官方文档或《React…

react如何重新加载

react如何重新加载

重新加载当前页面 在React中重新加载当前页面可以通过window.location.reload()方法实现。该方法会强制浏览器重新加载当前URL,类似于按下F5刷新页面。 const relo…

小白如何搭建react

小白如何搭建react

安装 Node.js 和 npm 确保系统已安装 Node.js(包含 npm)。可通过官网下载安装包(https://nodejs.org/),选择 LTS 版本。安装完成后,终端运行以下命令验证版…