Node.js 记账本项目总结

在使用Node.js结合Express框架构建记账本的过程中,遇到了一些常见的问题,这些问题主要集中在路径处理、包管理工具的选择、开发环境优化以及HTTP响应处理等方面。以下是对此进行 具体的总结与问题分析:

绝对路径与相对路径

  • 绝对路径 :指从根目录开始的完整路径,如/web。在Web开发中,使用绝对路径可以避免因文件位置改变而引起的路径错误。

  • 相对路径:相对于当前文件的位置来确定目标文件的位置,例如:

    • ./css/app.css:表示从当前文件所在的目录下寻找css文件夹内的app.css文件。
    • ../app.css:表示上一级目录下的app.css文件。
开发环境优化

为了提高开发效率,我们采用了以下措施:

  • 更换NPM镜像源 :使用nrm工具切换至淘宝镜像源,加速依赖包的下载速度。

    复制代码
    npm i -g nrm
    nrm use taobao
  • 使用Yarn :Yarn是一个快速、可靠且安全的依赖管理工具,可以通过yarn config list命令检查配置是否生效。

  • 使用Nodemon :安装并使用nodemon替代默认的node命令,实现代码更改后的自动重启功能。

    复制代码
    npm install -g nodemon

HTTP响应处理

在处理HTTP响应时,正确的使用res.send()方法非常重要。该方法用于向客户端发送响应,如果参数不正确,则可能导致错误。例如,尝试将字符串'success'作为状态码传递是不正确的。正确的做法应该是先设置状态码,然后再发送响应体,如:

复制代码
res.status(200).send({ msg: '添加成功!' });

此外,在创建新的记账记录后,通常会重定向到列表页以展示最新的记录列表,这可以通过res.redirect()方法实现:

复制代码
router.post('/account', (req, res) => {
  const newRecord = req.body;
  db.get('accounts').push(newRecord).write();
  res.redirect('/account/list'); // 重定向到列表页
});

路由处理函数

  • 列表页(list) :从数据库中查询所有记账记录,并将这些数据传递给模板引擎进行渲染。
  • 创建页(create) :处理用户的表单提交,将新的记账记录保存至数据库,并重定向回列表页。
  • 成功页(success) :实际上,在成功添加记录后,建议直接重定向到列表页,而非单独显示一个成功页面,以保持用户体验的一致性。
相关推荐
胡gh10 分钟前
JavaScript 中的闭包、防抖与节流:让你彻底搞懂它们的作用和应用场景
前端·javascript·node.js
野槐1 小时前
vue3+node.js+mysql写接口(二)
node.js
讨厌吃蛋黄酥1 小时前
🚀 全栈开发48小时逆袭:用Node.js打造超炫实时数据仪表盘! 📊
node.js·全栈
天若有情6731 小时前
Node.js 是什么?npm 是什么? Vue 为什么需要他们?
vue.js·npm·node.js
爱敲代码的小冰2 小时前
npm 切换 node 版本 和npm的源
前端·npm·node.js
甜瓜看代码12 小时前
1.
react.js·node.js·angular.js
伍哥的传说12 小时前
React 实现五子棋人机对战小游戏
前端·javascript·react.js·前端框架·node.js·ecmascript·js
01传说13 小时前
vue3 配置安装 pnpm 报错 已解决
java·前端·vue.js·前端框架·npm·node.js
摘星小杨17 小时前
如何卸载本机的node.js
node.js
Q_Q5110082851 天前
python的保险业务管理与数据分析系统
开发语言·spring boot·python·django·flask·node.js·php