![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
原生Node.js开发Web Server博客项目学习笔记
文章平均质量分 76
利用原生node技术开发server博客项目,目的在于了解框架底层原理,后期在使用koa2及express重构项目
岁月可贵
梦想很大,仍需努力
展开
-
使用Koa2重构博客项目
不使用框架完成博客项目(原生nodejs)一、安装Koanpm install koa-generator -gkoa2 blog-koa2cd blog-koa2npm installnpm i cross-env --save-dev启动项目npm run dev代码复用二、登录验证下载插件 koa-generic-session、koa-redis、redisnpm i koa-generic-session koa-redis redis --save配置环境(a原创 2021-03-15 09:10:10 · 306 阅读 · 2 评论 -
项目涉及到的知识点及项目流程图
一、 最终项目目录二、功能模块五部分:处理http接口连接数据库(mysql redis)实现登录安全(xss攻击,sql注入,密码加密)日志三、流程图四、核心知识点http,nodejs处理http、处理路由、mysqlcookie,session,redis,nginx反向代理sql注入,xss攻击,加密日志,stream,contrab,readline...原创 2021-03-15 08:07:29 · 219 阅读 · 0 评论 -
使用express重构博客项目
一、安装expressnpm install express-generator -g --registry=https://registry.npm.taobao.orgexpress express-testcd express-testnpm install --registry=https://registry.npm.taobao.orgnpm start (启动项目)访问 localhost:3000 (bin/www.js)二、express的入口文件var c原创 2021-03-15 08:05:23 · 227 阅读 · 2 评论 -
第六天:对项目后端日志存储
对项目后端进行写日志案例一:文件操作(原生nodejs)(1)项目目录:(2)读取文件const fs = require('fs')const path = require('path')//读取文件内容fs.readFile(fileName, (err,data) => { if (err) { console.error(err) return } //data是二进制1类型,需要转化为字符串 console原创 2021-03-10 10:17:49 · 376 阅读 · 2 评论 -
第五天:在博客路由中使用登录验证,配置 nginx解决前后端跨域
上一篇在blog模块中对用户是否已经登录成功进行判断对博客进行操作前都必须验证用户是否已经登录成功//router/blog.js 全局环境//统一的登录验证函数const logincheck = (req) { if (!req.session.username) { return Promise.resolve( new ErrorModel('尚为登录') ) }}//新增博客,删除博客,更新博客路由中调原创 2021-03-10 10:16:01 · 215 阅读 · 0 评论 -
第四天:使用 session cookie redis完善登录验证及登录路由
上一篇一、登录功能(跟上一篇博客模块对接数据库方法类似)//controller/user.jsconst loginCheck = (username,password) => { //先用假数据 // if (username === 'zhangsan' && password === '123') { // return true // } // return false let sql = `select username, realn原创 2021-03-06 14:32:08 · 352 阅读 · 0 评论 -
第三天:完善数据层(controller)真正对接数据库Mysql
上一篇接着上一篇完善数据库一、建表user表columndatatypepk主建nn不为空Al自动增加DefaultidintYYYusernamevarchar(20)Ypasswordvarchar(20)Yrealnamevarchar(10)Yblog表columndatatypepk主建nn不为空Al自动增加DefaultidintYYYtitl原创 2021-03-02 20:28:48 · 905 阅读 · 1 评论 -
第二天:继续完善路由层(router)及数据层(controller)
上一篇接着上一篇完善路由一、创建数据模型作用:统一规定返回数据到客户端时,数据的格式保存一致在src文件下创建model文件夹并在其目录下创建resModel.js文件class BaseModel { /* data是返回到客户端的数据(对象类型),message是错误信息(字符串类型) 如果errno=0,请求成功 通过data来获取数据 如果errno=-1,请求失败 通过message来获取错误的具体原因 */ construc原创 2021-02-27 14:32:29 · 1440 阅读 · 2 评论 -
第一天:搭建环境和初始化路由
环境搭建创建项目目录注意事项:1)bin目录下的www.js应该对应package.json中的原创 2021-02-24 13:53:57 · 248 阅读 · 0 评论