【Node】---- 项目相关

1、准备工作

  • npm init -y  初始化,生成package.js
  • express -e  生成文件夹
  • npm install  依赖加载,让所有模块自动下载
  • npm start  服务器挂起

 

2、前端搭建

  • html结构
  • css样式
  • js基本操作 + ajax请求数据,连接接口(app,js和routes)

 

3、后端搭建

  • bin/www定义端口号以及边界条件的处理;
  • app,js创建服务器,使用中间件,定义访问路径,通过app.use返回给前端路径,并连接路由router文件;
  • routes:路由,通过router.post/get返回给前端路径,并连接逻辑controller文件;
  • controller:逻辑实现,通过req.body/req.query获取前端post/get方式传的值,再通过res.json返回给客户端结果,通过调用model文件数据库增删改查的方法实现逻辑判断;
  • model:增删改查操作,需要访问util工具夹连接数据库;
  • util:连接数据库

 

4、MVC模式:架构思想

  • M:model层,数据库的增删改查操作;
  • V:view层,视图的展示;
  • C:controller层,实现业务逻辑;

 

5、信息加密(md5能解密,sha256不能解密)

  • 引入加密模块:const crypto = require("crypto");
  • 创建sha256算法:const hash = crypto.createHash("sha256");
  • 需要加密的字符串:hash.update(password);
  • 对字符串进行加密/加盐:hash.digest("hex");

 

6、token:实现默认登录

  • 安装:npm install jsonwebtoken -S
  • 引入:const jwt = require("jsonwebtoken ");
  • 设置:let token = jwt.sign({payload 相关信息}, "密钥随机字符", {'expiresln':'1h'}过期时间);
  • 种cookie:res.cookie("token", token);

 

7、图片上传问题

  • 思想:ajax只能提交非文件/图片数据,因此可以通过FormData模拟表单提交数据;
  • var formData = new formData();
  • append: key  val; [服务器接受的key值]
  • formData.append(key.val);  [formData.get()、formData.set()、formData.getAll()]
  • 注:node接受formData依赖formidable模块 -- cnpm install formidable -D;

 

8、路径问题

  • 以require所在文件为参照物,则使用相对路径;
  • 以其他node路径为参照物,则使用绝对路径;

 

9、中间层:即一个服务,服务器参照物与服务器之间的调取没有跨域问题

  • 解决跨域
  • 进行一些逻辑处理,以及数据过滤
  • 依赖request
  • 安装:cnpm install request -D
  • 使用:const requset = require("request");   
          request("访问地址", (err, responseText, body) {})

 

posted @ 2021-03-12 13:17  ONE橙子  阅读(59)  评论(0编辑  收藏  举报