Создание полнофункционального веб-приложения с помощью React и Node.js: пример проекта на GitHub

В этой статье блога мы рассмотрим процесс создания полнофункционального веб-приложения с использованием React и Node.js. Мы предоставим вам образец проекта, размещенный на GitHub, а также примеры кода для различных методов и функций. Независимо от того, являетесь ли вы новичком или опытным разработчиком, это руководство проведет вас через основные этапы создания мощного и масштабируемого веб-приложения.

Предварительные требования:
Прежде чем приступить к работе над проектом, убедитесь, что у вас есть базовые знания JavaScript, React и Node.js. Знание HTML, CSS и Git также будет полезным.

Настройка проекта.
Чтобы начать, давайте настроим новый проект, используя Create React App и Node.js. Откройте терминал и выполните следующие действия:

  1. Создать новый проект React:

    npx create-react-app my-app
    cd my-app
  2. Инициализировать новый проект Node.js:

    npm init -y
  3. Установите необходимые зависимости:

    npm install express
    npm install cors
  4. Создайте файл точки входа для сервера:

    // server.js
    const express = require('express');
    const cors = require('cors');
    const app = express();
    app.use(cors());
    app.get('/', (req, res) => {
    res.send('Hello from the server!');
    });
    app.listen(5000, () => {
    console.log('Server is running on port 5000');
    });

Соединение React с Node.js:
Теперь, когда у нас настроены проекты React и Node.js, давайте соединим их вместе. Мы будем использовать Axios, популярную клиентскую библиотеку HTTP, для отправки API-запросов из интерфейса React в серверную часть Node.js.

  1. Установить Axios в проекте React:

    npm install axios
  2. Сделать запрос API из React:

    import React, { useEffect, useState } from 'react';
    import axios from 'axios';
    const App = () => {
    const [data, setData] = useState('');
    useEffect(() => {
    axios.get('http://localhost:5000/')
      .then((response) => {
        setData(response.data);
      })
      .catch((error) => {
        console.error('Error fetching data:', error);
      });
    }, []);
    return (
    <div>
      <h1>{data}</h1>
    </div>
    );
    };
    export default App;

Добавление операций CRUD.
Чтобы сделать наш пример проекта более практичным, давайте реализуем операции CRUD (создание, чтение, обновление, удаление) с помощью React и Node.js.

  1. Создайте конечную точку API для получения данных в файле server.js:

    app.get('/api/data', (req, res) => {
    // Retrieve data from a database or any other data source
    // and send it as a response
    res.send('Data from the server');
    });
  2. Обновите компонент React для получения и отображения данных из API:

    // ...
    const App = () => {
    const [data, setData] = useState('');
    useEffect(() => {
    axios.get('http://localhost:5000/api/data')
      .then((response) => {
        setData(response.data);
      })
      .catch((error) => {
        console.error('Error fetching data:', error);
      });
    }, []);
    // ...
    };
  3. Реализовать другие операции CRUD (создание, обновление, удаление), добавив соответствующие конечные точки API в файл server.js и соответствующий код в компонент React.

Поздравляем! Вы успешно создали полнофункциональное веб-приложение с использованием React и Node.js. В этом руководстве мы рассмотрели процесс установки, подключение React к Node.js и реализацию операций CRUD. Не стесняйтесь исследовать и расширять этот пример проекта для создания более сложных и многофункциональных приложений.

Не забудьте просмотреть полный код проекта и ресурсы в нашем репозитории GitHub: [GitHub URL]