回顾node(4) 仿社区写一个案例

path路径操作模块

path.basename:获取文件的路径名(包含扩展名)。
path.dirname:获取一个路径的目录部分。
path.parse():将路径转为对象,里面啥都有。
path.join:当你需要拼接路径的时候,使用这个,自动拼接。
忘了没事,去node官网path模块看看,node环境下自己试试。

Node中的其他成员

在每个模块中,除了require, exports等模块相关的api之外,还有两个特殊的成员
__dirname 可以用来获取当前文件模块所属目录的绝对路径(不包括文件名的)
__filename 可以用来获取当前文件的绝对路径(包括文件名)
两者动态获取路径

为什么要说这个问题呢,因为文件操作中,使用相对路径是不可靠的,因为在Node中文件操作的路径,被设计为相对执行node命令所处的路径,所以为了解决这个问题,就要使用这两个来解决,因为动态获取路径。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里设计数据库时注意这个date,不能Date.now(),因为new的时候就已经调用了。
在这里插入图片描述
这里需要或,来判断是否重复
在这里插入图片描述
这里可以直接.json,自动转json
在这里插入图片描述
这里形成了一个闭环,前后端交互,虽然只是简单的注册页,但是让我更加了解了前后端如何进行交互,以及交互些什么,怎么处理交互。

MD5加密

在这里插入图片描述

var md5 = require('blueimp-md5')
//对密码进行 md5 重复加密
body.password = md5(md5(body.password))

在这里插入图片描述

服务端重定向只针对同步请求才有效,异步请求是无效的。

在Express这个框架中,默认不支持Session和Cookie,但是我们可以通过使用第三方中间件,express-session来解决
在这里插入图片描述

var session = require('express-session')
//当我们配置好后,我们就可以通过req.session来访问和设置Session成员了
//添加Session数据:req.session.foo = 'bar'
//访问Session数据:req.session.foo
app.use(session({
    
    
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: true,
  }))

服务器一重启session数据就会丢失哦,可以做数据持久化,他这里没讲,只说了可以通过第三方包来保存到数据库里,应该不会太难。这里是清除登入状态。
在这里插入图片描述
剩下的几乎都是一样的,参照黑马的node吧,明整整koa去,看看结合vue再写写。

猜你喜欢

转载自blog.csdn.net/weixin_46013619/article/details/105244796