如何创建一个可以使用React JS和Node.js的前端和后端的应用程序

516 阅读4分钟

由React前端和Node后端形成的组合可以在开发和编程的世界里带来巨大的成就。该平台提供了一个坚实的组合来开发一个应用程序。

在这篇文章中,我们看看你可以遵循哪些流程,在前端使用React,在后端使用Node来构建和部署一个应用程序。让我们看看你如何使用React JS和Node.js从头开始创建一个网络应用。

在这个过程中你将需要的工具

在这个过程中,你将需要以下工具。

  • 你需要首先确保Node和NPM已经安装在你的计算机系统中。你可以通过互联网下载这两个平台,并找到它们的解决方案。
  • 一旦你的系统中有了这些工具,你就可以选择一个你喜欢的代码编辑器。VSCode编辑器是目前市场上最好的编辑器,被大多数开发者和程序员所青睐。
  • 你需要确保Git已经安装在你的系统中。Git的存在是必要的,你可以用Heroku进行部署。你可以通过互联网下载Git。

使用React和Node.js创建一个应用程序的步骤

创建后端

你需要先为你的项目创建一个文件夹。一旦这个文件夹准备好了,你可以把它拖放到你的代码编辑器中。这样做将创建一个package.json文件,这将使你能够跟踪所有的依赖性。

你将使用Express来创建一个Web服务器,它将运行端口为3001。Heroku将在应用部署时确定代码的值。下面的代码将被运行。

// server/index.js

const express = require("express");

const PORT = process.env.PORT || 3001;

const app = express();

app.listen(PORT, () => {
  console.log(`Server listening on ${PORT}`);
});

最后,我们可以通过在端口3001中提到以下内容来设置应用程序的运行。

npm start

> node server/index.js

Server listening on 3001

创建一个API端点

过程中的下一步是创建一个API端点。这个API端点将有助于给React应用提供数据,对数据进行修改,并发出只有服务器才能发出的命令。

我们将通过向我们的React应用程序发送一条 "来自服务器的你好 "的消息来启动这个操作。下面提到的代码将为这个路由创建正确的端点。

// server/index.js
...

app.get("/api", (req, res) => {
  res.json({ message: "Hello from server!" });
});

app.listen(PORT, () => {
  console.log(`Server listening on ${PORT}`);
});

服务器将被重新启动,因为已经对Node代码进行了修改。你可以通过在浏览器中运行本地主机API来测试该代码。

创建React前端

过程中的第三步是为你的应用程序创建一个前端。你应该首先打开另一个终端实验室,创建一个新的React项目。

接下来将使用你的React应用程序和所有的依赖项。然后我们将通过运行启动脚本来启动React应用程序。该脚本将与Node服务器的脚本相同。

然后我们将在localhost: 300上输入我们的代码。

cd client
npm start

编译成功!

现在你可以在浏览器中查看客户端。

Local:            http://localhost:3000

进行HTTP请求

这个过程的第四步是创建HTTP请求,与API进行交互。这可以通过Fetch API发出一个简单的GET请求来启动。请求将被发送到后端,数据可以以JSON格式返回。

这里要输入的代码看起来像下面的文字。

// client/src/App.js

import React from "react";
import logo from "./logo.svg";
import "./App.css";

function App() {
  const [data, setData] = React.useState(null);

  React.useEffect(() => {
    fetch("/api")
      .then((res) => res.json())
      .then((data) => setData(data.message));
  }, []);

  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>{!data ? "Loading..." : data}</p>
      </header>
    </div>
  );
}

export default App;

启动网络部署

现在是时候让你把你的应用程序部署到网络上了。你应该遵循的第一个步骤是删除create-react-app代码中的Git仓库。这是一个必要的步骤,因为你需要将Git repo部署在项目的根部,而不是在 "客户端"。

cd client
rm -rf .git

一旦我们部署了代码,React前端和Node后端代码将在herokuapp的同一领域内提供服务。我们将看到这些代码和请求是如何被Node API处理的。我们需要一个代码,帮助在用户需要时向他们显示我们的React App。

这可以通过添加下面的代码来实现。

// server/index.js
const path = require('path');
const express = require('express');
...
// Have Node serve the files for our built React app
app.use(express.static(path.resolve(__dirname, '../client/build')));

// Handle GET requests to /api route
app.get("/api", (req, res) => {
  res.json({ message: "Hello from server!" });
});

// All other GET requests not handled before will return our React app
app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '../client/build', 'index.html'));
});

上面的代码允许我们的React前端和Node后端都部署在同一个域内。下面的代码将为该项目添加一个新的Git Repo。

git init
heroku git:remote -a insert-your-app-name-here
git add .
git commit -am "Deploy app to Heroku"

你的应用程序现在已经准备就绪,可以使用React JS和Node.js的前端和后端。