Node开发项目规则

news/2025/2/14 1:24:39/

1.app.js

说明:创建服务器实例对象和开启监听端口。放置全局使用的东西。例如封装中间件res.cc()

// 中间件,封装res.cc函数
app.use((req, res, next) => {//status为1,表示失败的情况//err的值可能是一个错误对象,也可能是一个错误的字符串res.cc = function (err, status = 1) {res.send({status,message: err instanceof Error ? err.message : err,});};
//放行next();
});

2.创建router文件

说明:一般规定是放置路由请求的。

router.post("/addcates",expressJoi(add_cate_schema),addArticleCates)

3.创建schema文件夹

说明:放置验证规则模块

// 导入定义验证包
const joi = require("joi");// 定义用户名和密码的验证规则
const username = joi.string().alphanum().min(1).max(10).required();
const password = joi.string().pattern(/^[\S]{6,12}$/).required();// 定义id,nickname,email的验证规则
// integer是整数
const id=joi.number().integer().min(1).required()
const nickname=joi.string().required()
const email=joi.string().email().required()
//定义验证avatar头像的验证规则
// 
/* joi.string():确保avatar是一个字符串类型的值。.dataUri():要求avatar必须是一个有效的数据URI(Data URL)。数据URI是一种特殊的URL格式,用于在纯文本中嵌入二进制数据,如图像、音频或视频文件。.required():表示avatar是必需的,不能为空或未定义。 *///定义验证注册和登录表单数据的对象
exports.reg_login_schma = {body: {username,password,},
};

4.router_hanlder文件夹

说明:放置处理函数的信息

exports.updateUserinfo = (req, res) => {// 定义执行的sql语句// 调用db.query()执行sql语句并传递参数const sql = "update ev_users set ? where id=?";//调用db.query()执行sql语句并传递参数db.query(sql, [req.body, req.body.id], (err, results) => {// 执行sql失败if (err) return res.cc(err);//执行成功,影响行数不等于1if (results.affectedRows !== 1) return res.cc("更新用户基本信息失败");res.cc("更新用户信息成功", 0);});
};

5.创建config.js

说明:放置配置文件

module.exports={//加密解密的Token秘钥jwtSecreKey:"forever",//token的有效期expiresIn:"360h"
}

6.db文件夹

说明:放置配置数据库代码。

// 导入mysql模块
const mysql=require("mysql")//创建数据库连接对象
const db=mysql.createPool({host:"127.0.0.1",user:"root",password:"123456",database:"mydb"})module.exports=db

7.创建public文件夹

说明:放置静态资源,如图片等

 


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

相关文章

Cobalt Strike实战实例

客户端 初始化界面如下: 可以多个客户端同时连接,可以聊天。 msg 指定id 文字。 msg 文字。 创建监听器 这里出现了,监听设置不成功。原因是服务端的CS4.0报错了。我重新下载就可以了。如果这里有问题,可联系我。我帮你。这里解…

Microsoft 已经发布了7月份的产品安全问题修复报告。

🔥Microsoft 已经发布了7月份的产品安全问题修复报告。我们建议您关注趋势性漏洞,即那些已经或即将被攻击者积极利用的漏洞。 7月份报告中的两个危险漏洞: CVE-2023-32049和CVE-2023-35311。 CVE-2023-32049漏洞允许网络犯罪分子绕过Window…

基于HTML+CSS+JavaScript仿瓜子二手车官网【学生网页设计作业源码】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

如何成为F1车手?

sorry,玩了几天的GT sport才发现赛车有多难,理论的最佳走线是存在的,但是真实的赛道实在是千变万化,弯道形状角度、高低差、F1还有温度和风速,甚至是路面上的一个碎石都会极大地影响你的成绩。赛车的不确定性太大&…

#车载基础软件——AUTOSAR AP技术形态

车载基础软件——AUTOSAR AP技术形态 我是穿拖鞋的汉子! 今天是2023年2月11日,时间好快,疫情解封已好几个月,生活节奏也在逐渐恢复到三年前的节奏。可能是感觉疫情与自己距离变远了,大家也开始慢慢的不再恐惧! 老规矩分享一段喜欢的文字,避免自己成为高知识低文化的工…

HTML5网页设计成品:汽车介绍特斯拉 (dreamweaver作业静态HTML网页设计模板)

🎉精彩专栏推荐 💭 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: ​​【主页——🚀获取更多优质源码】​​ 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套…

关于汽车html网页设计完整版,10个以汽车为主题的网页设计与实现

📂文章目录 一、👨‍🎓网站题目二、✍️网站描述三、📚网站介绍四、🌐网站演示五、⚙️ 网站代码🧱HTML结构代码💒CSS样式代码 六、🥇 如何让学习不再盲目七、🎁更多干货…

大学生汽车主题网页制作 汽车网页设计模板 学生静态网页作业成品 dreamweaver汽车HTML网站制作

🌩️ 精彩专栏推荐👇🏻👇🏻👇🏻 💂 作者主页: 【进入主页—🚀获取更多源码】 🎓 web前端期末大作业: 【📚HTML5网页期末作业 (1000套…