写代码的时候,出现一些引用地址,一会儿相对引用,一会儿绝对引用,整迷糊了,
有时候写/有时候写./ 容易搞错,而且有时候/不是习惯性的/,
admin.post('/login',async(req,res)=>{
//接收请求参数
// res.send(req.body)
//进行body解构
const {email,password} = req.body
if(email.trim().length == 0||password.trim().length == 0){
// 为什么这里的引用地址不写/admin/error少了一个/ *****
// 因为静态资源加载之前是把它的根目录设置过
// 但是模板字符串没有设置根目录,没有这个功能
//所以用来/admin/error是在最上级找,可以尝试用/views/admin/error试验猜想是否正确,验证得不正确,好像是在浏览器里面输地址的意思
//渲染的话,肯定就是查找文件夹地址,跳转的话,不一定是文件夹地址,有可能是先前设置的路由地址
return res.status(400).render('./admin/error',{
// 写成./admin/error或者admin/error都可以---为什么不能写成/admin/error
// ../上一级 *****
// ./当前 *****
// /根目录 *****
msg:'邮件地址或者密码错误'
})
}
以上是自己在写的时候遇到的问题,以及验证过程,
总结就是,类似拼接模板的,可以事先定义其模板文件的根目录,在输入地址时,根目录已经确定了;
有时候写的并不是在代码中引用某个文件的地址,而是写的路由地址,所以会混淆,比如在这里单用 / 就只是路由地址的正常用法,如果混淆了引用地址还以为写的是从根目录开始一级一级的查找下去
附上一篇别人的总结
https://blog.csdn.net/weixin_41267342/article/details/78750289