当前位置: 首页 > news >正文

网站title keywords免费域名申请网站

网站title keywords,免费域名申请网站,创建网站的目的是什么原因,乐享校园网站建设策划书任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端#xff0c;使用 Express 框架来处理 HTTP 请求#xff0c;并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); cons…任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端使用 Express 框架来处理 HTTP 请求并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); const bodyParser require(body-parser); const fs require(fs); const cors require(cors);//防止端口不一样从而引发错误express用于创建服务器和路由处理。body-parser用于解析请求体。fsNode.js 的文件系统模块用于读写文件。cors用于处理跨域请求。 接下来进行创建Express 应用即下面代码使用Express框架进行编写。 const app express(); const port 5501; //端口名3.6.2中间件设置及添加API 首先我们了解一下什么是中间件中间件是处理请求和响应的函数能够在请求到达路由处理器之前或之后对请求进行处理。设置中间件的方式通常是通过 app.use() 方法。 这里我们使用了 app.use(bodyParser.json()); body-parser 是一个 Express 的中间件它用于解析请求体中的 JSON 数据。 当客户端发送一个 JSON 数据的 POST 请求时这个中间件会将请求体解析为 JavaScript 对象并将其附加到 req.body 属性上以便后续的处理函数可以访问。 app.use(express.static(public)); // 提供静态文件 express.static(public) 会将 public 目录下的所有文件作为静态资源允许客户端直接访问这些文件。及我们用于存放htmlcssjs,等静态资源的那个文件夹。 app.use(cors()); // 允许所有来源 cors 是一个用于处理跨域资源共享CORS的中间件。 在构建 API 时为了避免遇到前端和服务端不在同一源的情况使用 cors() 中间件后服务器就会允许来自任何源的 HTTP 请求从而解决跨域问题。 添加书籍的API app.post(/addBook, (req, res) {fs.readFile(books.txt, utf8, (err, data) {if (err) {return res.status(500).send(服务器错误);}let books [];try {books JSON.parse(data || []); // 防止 books.txt 为空} catch (parseErr) {return res.status(500).send(数据解析错误);}books.push(req.body); // 将请求体中的数据添加到书籍数组fs.writeFile(books.txt, JSON.stringify(books, null, 2), (err) { // 格式化写入if (err) {return res.status(500).send(服务器错误);}res.status(201).send(添加成功); // 返回成功信息});}); });当接收到 POST 请求时读取 books.txt 文件解析 JSON 数据将请求体中的书籍信息添加到数组中最后将更新后的数组写回到文件中。 注意在这里难免会遇到很多的报错例如404、500等等的错误因此我们在这三个API中都要进行打印报错信息知道我们的错误点并进行错误调试。 编辑书籍的 API app.put(/books/:index, (req, res) {const index parseInt(req.params.index, 10);fs.readFile(books.txt, utf8, (err, data) {if (err) {return res.status(500).send(服务器错误);}let books [];try {books JSON.parse(data);} catch (parseErr) {return res.status(500).send(数据解析错误);}if (index 0 || index books.length) {return res.status(404).send(书籍未找到);}books[index] req.body;fs.writeFile(books.txt, JSON.stringify(books), (err) {if (err) {return res.status(500).send(服务器错误);}res.send(编辑成功);});}); });编辑图书中进行处理 PUT 请求根据 URL 中的书籍索引值查找书籍更新该书籍的信息并保存回文件。验证书籍索引是否有效。 获取索引使用的是const index parseInt(req.params.index, 10);使用 parseInt 将路径参数 index 转换为整数表示需要编辑的书籍索引。 使用 fs.readFile() 函数读取 books.txt 文件文件内容以 UTF-8 编码方式读取。读取完成后调用回调函数。然后定义一个空数组 books用于存储从文件中读取到的书籍数据。再调用 JSON.parse() 将文件内容解析为 JavaScript 对象。 books[index] req.body; 使用请求体中的数据更新 books 数组中对应索引的书籍信息。 最后将更新后的书籍数组写回到 books.txt 文件中使用 JSON.stringify() 将数组转换为 JSON 字符串。 如果书籍信息成功更新并写入文件返回“编辑成功”的消息。 删除书籍的 API app.delete(/books/:index, (req, res) {const index parseInt(req.params.index, 10);fs.readFile(books.txt, utf8, (err, data) {if (err) {return res.status(500).send(服务器错误);}let books [];try {books JSON.parse(data);} catch (parseErr) {return res.status(500).send(数据解析错误);}if (index 0 || index books.length) {return res.status(404).send(书籍未找到);}books.splice(index, 1);fs.writeFile(books.txt, JSON.stringify(books), (err) {if (err) {return res.status(500).send(服务器错误);}res.send(删除成功);});}); });主要就是处理 DELETE 请求读取书籍信息查找索引删除对应书籍并更新文件。 在url中:index 是一个动态路径参数用于指定要删除的书籍的索引。 大致的步骤和编辑图书一样先获取索引、读取 books.txt 文件、处理错误、初始化书籍数组、将文件内容解析为 JavaScript 对象。 最后使用books.splice(index, 1)使用 splice() 方法从 books 数组中删除指定索引的书籍。 然后写入更新后的书籍列表将更新后的书籍数组写回到 books.txt 文件中使用 JSON.stringify() 将数组转换为 JSON 字符串。返回成功相应。 3.6.3 启动服务器 这是在进行操作前必须完成的步骤不然100%会报错。 app.listen(port, () {console.log(服务运行在 http://localhost:${port}); });app.listen(port, ...)此方法告诉 Express 应用开始监听传入的网络请求。 port 是一个参数指定了服务器将在哪个端口上运行。 启动服务器步骤打开命令提示符cd转到server.js所在的文件夹路径。再改路径后输入node server.js回车即可将会返回服务器运行在…的结果即代表运行成功此时再进行图书管理的操作。 ok至此该图书馆管理系统项目全部完成希望能够帮助到大家也希望编写项目顺利无报错 该项目也有很多后续需要更新的功能或需要优化完善的功能例如借书还书不能光光写死应该与后端连接起来欢迎大家的激烈讨论
http://www.dnsts.com.cn/news/124649.html

相关文章:

  • 做数据可视化的网站首页优化排名
  • 建设自己的网站有钱赚么淮安网站制作多少钱
  • 公司注册网站怎么做网站建设学生选课系统
  • php做的网站网站建立的优点
  • 新手怎么建立自己的网站金桥网站建设
  • ps做网站需注意网页设计基础入门
  • 网站建设198红色基调的网站
  • 西安网站改版网站做好了每年都要续费吗
  • 卖钢材做哪个宣传网站做购物平台网站客户体验活动
  • 如何申请免费的网站空间石家庄建设局
  • 上海有多少家网站建设公司学好wordpress怎么赚钱
  • 贵州建设官方网站wordpress 前台上传
  • 网站制作模板程序婚庆公司创业计划书
  • 泉州模板网站建站济南又出现5例
  • 潍坊青州网站建设网页制作教程步骤视频讲解
  • 旅游精品网站建设雨岑信息科技有限公司做企业型网站做的怎么样_公司规模如何
  • 安庆网站关键词优化html5网站源码带后台
  • 一级站点和二级站点区别html 公司网站 代码下载
  • 网站建设通讯稿wordpress 哪些网站
  • 苏州做企业网站的公司做编程的网站有哪些
  • 舟山市规划建设局网站设计师网名高级
  • 烟台网站建设服务西安到北京需要隔离吗
  • 网站开发设计费 怎么入账wordpress liuweili
  • 青少年宫网站开发设计师网站哪个好
  • 制作企业网站需要多少钱wordpress与joomla
  • 关于做网站的总结windows优化大师有必要安装吗
  • 网站开发vs平台的功能微信商城网站哪家做的好
  • 幕墙配件在那个网站做推广好信息如何优化上百度首页公司
  • 最新网站开发建设教材重庆seo公司
  • 夏门建设局网站自己能不能做个网站