返回

手动搭建前端项目(React+Antd+TS)打造精彩开发之旅

前端

前言

作为一名前端工程师,手动搭建自己的项目是必备技能。今天,我们使用Webpack 5、React、TypeScript和Ant Design一起动手搭建一个前端项目,一步一步地完成整个过程,将所学知识应用于实践。

项目需求

假设我们要构建一个简单的待办事项应用程序。用户可以添加、删除和标记待办事项。此外,我们希望该应用程序具有响应式设计,以便在不同设备上都能良好显示。

技术栈

为了实现项目需求,我们将使用以下技术栈:

  • Webpack 5 :模块打包工具,用于将前端代码打包成一个或多个文件,以便在浏览器中运行。
  • React :一个流行的JavaScript库,用于构建用户界面。
  • TypeScript :一种静态类型化的编程语言,可以帮助我们编写更健壮的代码。
  • Ant Design :一个企业级UI组件库,可以帮助我们快速构建美观的界面。

搭建步骤

  1. 初始化项目

首先,我们需要创建一个新的项目目录,并初始化一个npm包。

mkdir my-todo-app
cd my-todo-app
npm init -y
  1. 安装依赖项

接下来,我们需要安装必要的依赖项。

npm install webpack webpack-cli react react-dom typescript ts-loader @types/react @types/react-dom @ant-design/antd
  1. 创建Webpack配置文件

接下来,我们需要创建一个Webpack配置文件。

const path = require('path');

module.exports = {
  entry: './src/index.tsx',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.js', '.jsx'],
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: 'ts-loader',
        exclude: /node_modules/,
      },
    ],
  },
};
  1. 创建React组件

接下来,我们需要创建React组件。

import React from 'react';

const TodoItem = (props) => {
  return (
    <li>
      <input type="checkbox" checked={props.completed} onChange={() => props.onToggle(props.id)} />
      <label>{props.text}</label>
      <button onClick={() => props.onDelete(props.id)}>Delete</button>
    </li>
  );
};

export default TodoItem;
  1. 创建Redux Store

接下来,我们需要创建Redux Store。

import { createStore } from 'redux';

const initialState = {
  todos: [],
};

const reducer = (state = initialState, action) => {
  switch (action.type) {
    case 'ADD_TODO':
      return {
        ...state,
        todos: [...state.todos, action.payload],
      };
    case 'TOGGLE_TODO':
      return {
        ...state,
        todos: state.todos.map((todo) => (todo.id === action.payload ? { ...todo, completed: !todo.completed } : todo)),
      };
    case 'DELETE_TODO':
      return {
        ...state,
        todos: state.todos.filter((todo) => todo.id !== action.payload),
      };
    default:
      return state;
  }
};

const store = createStore(reducer);

export default store;
  1. 创建React应用程序

接下来,我们需要创建React应用程序。

import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom';
import store from './store';
import TodoList from './TodoList';

const App = () => {
  const [todos, setTodos] = useState([]);

  useEffect(() => {
    store.subscribe(() => {
      setTodos(store.getState().todos);
    });
  }, []);

  return (
    <div>
      <h1>Todo App</h1>
      <TodoList todos={todos} />
    </div>
  );
};

ReactDOM.render(<App />, document.getElementById('root'));
  1. 构建项目

最后,我们需要构建项目。

npm run build

总结

通过以上步骤,我们就手动搭建了一个前端项目。这个项目使用了Webpack 5、React、TypeScript和Ant Design等技术,可以作为我们后续开发项目的模板。希望对大家有所帮助。