使用 Go 和 ReactJS 构建聊天系统(一):初始化项目

我们将通过设置我们的两个项目来开始这门课程。一旦我们完成了这些枯燥的设置,我们就可以开始添加新的功能,构建我们的应用程序,并看到一些成果。

目标

在本节课程结束后,你将得到:

  • 在  backend/ 目录创建的基本的 Go 应用。
  • frontend/ 目录创建的基本的 ReactJS 应用。

实现了这两个目标之后,您将能够在本课程的以下部分开始向聊天系统中添加功能。

准备工作

为了完成本系列教程,您需要做以下准备工作。

  • 你需要安装 npm
  • 你需要安装 npx。它可以通过 npm install -g npx 来安装。
  • 你的 Go 版本需要高于 1.11。
  • 您将需要一个代码编辑器,如 Visual Studio。

设置 Go 项目

如果您熟悉 Go,这一步相当简单,我们将在项目目录中创建一个名为 backend 的目录。

这个 backend 目录将存放这个项目的所有 Go 代码。然后,我们将通过以下命令来初始化我们的项目::

$ cd backend
$ GO111MODULE=on
$ go mod init github.com/TutorialEdge/realtime-chat-go-react

应该在 backend 目录中使用 go mod 初始化我们的项目,初始化之后我们就可以开始写项目并使其成为一个完整的 Go 应用程序。

一旦你执行了这些命令,你就应该在 backend/ 目录下看到两个新生成的文件。它们分别是 go.mod 和 go.sum 文件。

  • go.mod - 这个文件有点像 NodeJS 项目中的 package.json。它详细描述了我们项目所需的包和版本,以便项目的构建和运行。
  • go.sum - 这个文件用于校验,它记录了每个依赖库的版本和校验码。

注意 - 如果想要了解更多关于 Go modules 的新特性,请访问官方 Wiki: Go Modules

检查

一旦我们在 backend/ 目录中调用了 go mod init,我们将检查程序是否正常工作。

在 backend/ 目录中添加新文件 main.go,并添加以下代码:

package main

import "fmt"

func main() {
  fmt.Println("Chat App v0.01")
}

保存文件, 尝试运行它:

$ go run main.go
Chat App v0.01

很好,如果运行成功,我们就可以继续设置前端应用了。

设置我们的 React 前端

设置我们的前端稍微复杂一些,首先,我们将在项目的根目录中创建另一个目录,名为 frontend,我们在这个目录中存放所有 ReactJS 代码。

注意 - 我们将会使用 facebook/create-react-app 来生成 React 前端。

$ cd frontend

然后使用 create-react-app 包来创建一个新的 ReactJS 应用。 可以使用 npm 来安装:

$ npm install -g create-react-app

安装之后,可以使用以下命令创建新的 ReactJS 应用程序:

$ npx create-react-app .

运行这些命令之后,你应该可以看到我们的 frontend/ 目录生成了基本的 ReactJS 应用程序。

我们的目录结构如下:

node_modules/
public/
src/
.gitignore
package.json
README.md
yarn.lock

在本地运行 ReactJS 应用程序

现在你应该成功创建了基础的 ReactJS 应用,是时候测试一下了。使用下面的命令尝试运行:

$ npm start

如果一切按计划进行,你将看到 ReactJS 应用程序已经编译完毕,并且已经运行在本地服务器上,可以通过访问 http://localhost:3000 来查看:

Compiled successfully!

You can now view frontend in the browser.

  Local:            http://localhost:3000/
  On Your Network:  http://192.168.1.234:3000/

Note that the development build is not optimized.
To create a production build, use yarn build.

很好,您现在有了一个基本的 ReactJS,可以在本教程系列的下一部分中进行扩展。

总结

太棒了,你现在已经成功地设置了我们项目的前端和后端,我们可以开始添加新的功能了。

本文译自tutorialedge

本作品采用《CC 协议》,转载必须注明作者和本文链接
最初的时候也是最苦的时候,最苦的时候也是最酷的时候。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!