node-blog
1. start
1.1 目录结构
1 | ├─app.js 项目入口文件 |
1.2 初始化
1 | 初始化 |
2. app.js中配置art-template
1 | const express = require('express'); |
3. art-template模板继承
1 | <!--layout.html,公共的css和js也在这个页面引进来,同时留几个‘坑’--> |
1 | <!--index.html--> |
4. 路由设计
路径 | 方法 | get参数 | post参数 | 是否需要权限 | 备注 |
---|---|---|---|---|---|
/ | GET | 渲染首页 | |||
/register | GET | 渲染注册页 | |||
/register | POST | email,nickname,password | 处理注册请求 | ||
/login | GET | 渲染登录页面 | |||
/login | POST | email,password | 处理登录请求 | ||
/logout | GET | 处理退出请求 |
5. md5加密
1 | 安装加密包 |
使用:
1 | // 安全起见双层加密 |
6. SESSION问题
express
默认不支持 Session 和 Cookie 但是我们可以使用第三方中间件:express-session 来解决- 安装:
1 | npm install express-session |
- 引入:
1 | const session = require('express-session'); |
- 配置:
1 | // 一定要在 app.use(router) 之前 |
- 使用
1 | // 当把这个插件配置好之后,我们就可以通过 req.session 来发访问和设置 Session 成员了 |
- 提示: 默认session都是内存存储的,一旦服务器重启就会丢失,真正的开发环境会把session做持久化保存。
7. 重定向问题
1 | // 服务端重定向只针对同步请求才有效,异步请求无效。此时需要重定向就要在客户端进行 |
构建项目的完整操作步骤
- 创建目录结构
- 整合静态页,模板页
- extend
- include
- block
- 设计路由,注册,登录,退出
- 用户注册
- 客户端:先整理好客户端页面(表单数据的name设置,收集表单数据发送请求)
- 服务端:
- 获取客户端发送的表单数据
- 操作数据库
- 如果数据库操作失败,响应500
- 其他根据业务响应不同数据
- 用户登录
- 用户退出
遇到的问题以及解决方法
页面资源都加载完了但是,页面显示不正确,原来是bootstrap版本装了最新版
1
2
3npm默认安装最高版本,可按需求安装特定版本
npm uninstall bootstrap
npm install bootstrap@3.3.7