手把手教你用 React 和 Go 部署全栈项目(二)


第二章:配置 React 路由并与 Go 后端联动

手动链接:juejin.cn/post/752674...

在上一章,我们已经成功地启动了一个 Go 后端服务和一个 React 前端项目。这一章我们将继续推进,讲解如何为 React 项目添加多个页面,并通过前端路由进行访问。


一、安装 React 路由库

首先,我们需要安装前端路由库 react-router-dom:

复制代码
npm install react-router-dom

二、配置路由组件

我们使用 react-router-dom 来设置页面跳转逻辑。

App.jsx

这是项目的入口组件。我们使用 <BrowserRouter> 包裹整个 App,以启用 HTML5 路由功能。

javascript 复制代码
import React from "react";
import { BrowserRouter } from "react-router-dom";
import Router from "./router/Router";

function AppWithAuthCheck() {
    return <Router />;
}

export default function App() {
    return (
        <BrowserRouter>
            <AppWithAuthCheck />
        </BrowserRouter>
    );
}

router/Router.jsx

我们新建一个 Router.jsx 文件来集中管理路由配置。

javascript 复制代码
import React from "react";
import { Route, Routes } from "react-router-dom";

import Test1 from "../pages/test1.jsx";
import Test2 from "../pages/test2.jsx";

export default function Router() {
    return (
        <Routes>
            <Route path="/test1" element={<Test1 />} />
            <Route path="/test2" element={<Test2 />} />
        </Routes>
    );
}

三、创建页面组件

pages/test1.jsx

javascript 复制代码
import React from "react";

export default function Test1() {
    return (
        <div>
            <div>test1</div>
        </div>
    );
}

pages/test2.jsx

javascript 复制代码
import React from "react";

export default function Test2() {
    return (
        <div>
            <div>test2</div>
        </div>
    );
}

四、打包构建前端代码

使用以下命令将 React 项目打包成静态文件:

arduino 复制代码
npm run build

五、移动静态文件到 Go 后端

将构建好的前端静态文件复制到后端服务可访问的位置:

bash 复制代码
rm -rf ../../test/*
mv dist/* ../../test

注意:请根据你的 Go 项目的静态资源路径配置修改 ../../test 路径。


六、运行后端服务

启动 Go 后端服务:

go 复制代码
go run main.go

七、访问页面验证

在浏览器中访问以下页面:


🎉 成功!

我们已经成功配置了前端路由,并与后端结合,可以直接通过浏览器访问各个页面,撒花~ 🎉🌸🎉

接下来我们可以进一步支持嵌套路由、鉴权逻辑、前后端交互等等。

如需继续探索,请关注下一章节。👉

相关推荐
卷无止境3 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
福兮说3 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
狼爷4 小时前
从零用 Java 构建 AI Agent 框架:JavaManus 设计与实现深度解析
后端·langchain·aigc
郑州光合科技余经理4 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
专业程序开发源4 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
专业程序开发源4 小时前
springboot社区养老系统44071-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
小呆呆6665 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)5 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
周杰伦fans5 小时前
8GB显存下模型量化实战指南
人工智能·后端·c#
码艺-Alimjan5 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js