第二篇:脚手架搭建 — React 和 Express 的搭建

news/2024/12/12 22:14:19/

目录

  • 1 React搭建
  • 2 Express搭建
  • 总结

第一篇我们介绍了开发环境的搭建过程,介绍了vscode、git、nodejs和mongodb的安装过程。有了基础的开发环境就需要搭建我们的前后端脚手架了。

1 React搭建

前端我们选用React框架解决界面的渲染和用户交互的问题,React给了我们一个快捷搭建的脚手架,首先在我们的D盘创建一个项目目录project
在这里插入图片描述
进入project目录创建前端工程目录,需要在当前文件夹的地址栏键入cmd快捷的打开命令行窗口

在这里插入图片描述
在这里插入图片描述
输入如下命令

npx create-react-app school-system-client

在这里插入图片描述
安装的过程中报错了
在这里插入图片描述
找到提示的错误文件打开看一下报错信息

'Log files:
C:\Users\hp\AppData\Local\npm-cache\_logs\2024-12-10T07_48_07_130Z-debug-0.log# npm resolution error reportWhile resolving: school-system-client@0.1.0
Found: react@19.0.0
node_modules/reactreact@"^19.0.0" from the root projectCould not resolve dependency:
peer react@"^18.0.0" from @testing-library/react@13.4.0
node_modules/@testing-library/react@testing-library/react@"^13.0.0" from the root projectFix the upstream dependency conflict, or retry
this command with --force or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

报错的原因是因为react19和第三方的库不兼容,我们使用稳定版来开发我们这个项目,将react降级到18,在命令行输入如下命令

cd school-system-client
npm install react@18 react-dom@18

在这里插入图片描述
再执行npm install

npm install

在这里插入图片描述
然后执行npm start运行项目

npm start

在这里插入图片描述
为了解决这个报错,我们进入到项目目录,将node_modules和package-lock.json都删掉
在这里插入图片描述
重新安装依赖

npm install

然后再次执行npm start,跳出了默认的Edge浏览器,但是报了一个错
在这里插入图片描述
这个是有一个库缺失了,我们单独安装一下

npm install web-vitals

在这里插入图片描述
浏览器看到这个转动的图标,表示我们的脚手架搭建成功了
在这里插入图片描述

2 Express搭建

前端脚手架搭建成功之后,我们就需要搭建后端脚手架了,在项目根目录创建一个文件夹school-system-server
在这里插入图片描述
输入如下命令

npm init -y

在这里插入图片描述
然后安装express的常用依赖包

npm install express mongoose cors dotenv

在这里插入图片描述

  • express:创建 API 接口的框架。
  • mongoose:用于与 MongoDB 数据库进行交互。
  • cors:解决跨域问题。
  • dotenv:用于管理项目的环境变量。

在根目录创建server.js
在这里插入图片描述
打开文件输入如下代码

const express = require('express');
const cors = require('cors');
require('dotenv').config();const app = express();// 中间件
app.use(cors());
app.use(express.json()); // 处理 JSON 请求体// 路由
app.get('/', (req, res) => {res.send('Hello, this is the school system backend!');
});// 启动服务器
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);
});

在命令行输入启动命令

node server.js

在这里插入图片描述
在浏览器的地址栏输入访问地址

http://localhost:5000

在这里插入图片描述
到此为止,我们已经把前后端的脚手架都搭建完毕了。如果用盖房子做比喻,相当于我们把地基已经打好了,剩下就是按照我们的规划一层层的往上盖了。

总结

我们本篇介绍了前后端脚手架的搭建方法,搭建过程中会遇到形形色色的问题,就需要根据问题逐个击破。


http://www.ppmy.cn/news/1554600.html

相关文章

基于Python实现web网页内容爬取

文章目录 1. 网页分析2. 获取网页信息2.1 使用默认的urllib.request库2.2 使用requests库1.3 urllib.request 和 requests库区别 2. 更改用户代理3. BeautifulSoup库筛选数据3.1 soup.find()和soup.find_all() 函数 4. 抓取分页链接参考资料 在日常学习和工作中,我们…

Docker保存镜像和导入镜像文件(图文详解)

Docker保存镜像和导入镜像文件(图文详解) Docker 保存和导入镜像文件是 Docker 镜像管理中的两个关键操作,它们在不同的场景下有着各自的意义和用途。以下是对这两个操作的详细说明: 1 基本命令介绍 1.1 Docker 保存镜像&#…

关于idea-Java-servlet-Tomcat-Web开发中出现404NOT FOUND问题的解决

在做web项目时,第一次使用servlet开发链接前端和后端的操作,果不其然,遇到了诸多问题,而遇到最多的就是运行项目打开页面时出现404NOT FOUND的情况。因为这个问题我也是鼓捣了好久,上网查了许多资料才最终解决&#xf…

路径规划之启发式算法之九:灰狼优化算法(Grey Wolf Optimizer,GWO)

灰狼优化算法(Grey Wolf Optimizer,GWO)是一种智能优化算法,由澳大利亚格里菲斯大学学者Mirjalili等人在2014年提出。该算法灵感来源于灰狼群体的捕食行为,通过模拟灰狼的社会等级分层和狩猎机制来解决复杂的优化问题。…

【ETCD】【源码阅读】Validate() 函数解析

Validate 函数逐行解析 Validate 函数是 Config 结构体的一个方法,主要作用是检查 ETCD 配置是否符合预期,确保所有必需的配置项都被正确设置。如果有不合法或不一致的配置,函数会返回相应的错误。 函数签名: func (cfg *Confi…

Ubuntu 22.04加Windows AD域

说明:   Ubuntu 22.04系统通过realmd,sssd加入到 Active Directory 域,并为域用户配置sudo权限。同时为方便用户使用为Ubuntu系统安装wps与sogou中文输入法。 1. Ubuntu 22.04加入Windows AD域 1.1 首先配置网络,Ubuntu系统能…

校园自助洗衣服务认证:提升校园生活品质的关键举措

在当今时代,学生对于便捷、高效生活方式的追求愈发强烈,校园自助洗衣服务顺势而生,成为校园生活中不可或缺的一部分。为切实保障自助洗衣服务的品质与安全,引入认证机制具有极为重要的意义,其犹如一把精准的标尺&#…

Golang学习笔记_03——匿名函数和闭包

Golang测试功能应用 Golang学习笔记_01——包 Golang学习笔记_02——函数 文章目录 1. 匿名函数1.1 定义1.2 语法1.3 用途 2. 闭包2.1 定义2.2 特性2.3 示例2.4 注意事项 3. 匿名函数和闭包源码 1. 匿名函数 1.1 定义 匿名函数,顾名思义,就是没有名称的…