# node_web **Repository Path**: null_435_7166/node_web ## Basic Information - **Project Name**: node_web - **Description**: 前后端不分离 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-06 - **Last Updated**: 2023-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Node Web前后端不分离 ## git 仓库与npm 项目管理 - 集成了nodemon 热更新项目 ## express使用 - 集成了express web开发框架 ## express-art-template使用 - 集成了express-art-template html文件模板解析引擎 ## 集成bootstrap使用 - express加载静态资源(使用bootstrap) - bootstrap 静态轮播图 ## 集成mongodb模块 - 新建node_web数据库 新建swiper集合 填充数据 - 新建mongodb辅助类 导出db - 在需要的位置引入辅助类 操作数据库 - 使用从数据库中获取的数据 结合 模板语法 渲染动态轮播图 ## 编写下载页面 - 渲染download.html - 查询download集合数据 - 将数据渲染在download.html中展示 ## 编写登录页面 - get请求渲染login.html - post请求接受表单数据 ## 集成 body-parser 处理登录 - 提取form表单数据 - 查询数据库 - 登录成功 使用res.redirect("/") - 登录失败 使用res.render("login.html", {"err":"用户名密码错误"}) ## 导航条编写 - include 包含其他html文件 - req.path 传递确定active位置 ## 集成express-session 保存用户信息 - 安装express-session - 注册express-session - 用户信息通过session保存 获取 清除 - req.session.name = username - req.session.name - req.session.name = null ## 注册 个人中心 - 注册路由 注册页面 注册表单 注册成功 注册失败 - 导航栏 用户信息 ## 路由守卫(没有登录 有些页面不能进入) - req.session.name 确定是否登录过 - req.redirect("/login?next=/download") 下载没有权限 先进入登录 (附带next参数) - 处理登录表单的action action="/login?next={{next}}" - 登录成功以后提取next ## 编写下载 - 更新数据库添加下载地址字段 - 在表格中解析下载地址 - 添加下载路由 /loadfile?name=下载地址 - res.download()