Node.js

node

是基于chome(谷歌浏览器)的v8引擎 来实现的一个javascript运行环境(这个环境可以单独的在任何操作系统上运行 从而可以让js的触角延伸到服务器端)

node能在服务器端运行js有啥用?

因为js默认情况下不能直接读取本地计算及硬盘上的东西 但是node可以让js运行在服务器端 那么node就把js变成了服务器端语言 那么js就可以读取计算及硬盘上的东西(可以访问数据库)

node特点

单线程

非阻塞式io

事件驱动

node的安装

repl交互性解释器

就是可以在cmd中来写js代码 因为node是一个js的运行环境 可以让js在脱离浏览器的情况下来单独运行

 

node怎么运行js代码?

1.cd 到你要运行node的文件夹下

2.在cmd中输入 node空格你要运行的js文件名 即可运行

魔术变量/预定义变量

就是node提前定义好的一些变量 代表某些操作

__dirname 运行这个文件的文件夹的绝对路径

__filename 当前js脚本文件的绝对路径

 

express框架

基于node的一个企业级应用框架 他里面封装了大量的http相关工具可以让我们非常方便的创建出 对需要的后台服务

 

 

 

1.下载 npm install --save express

2.创建一个文件夹名字随便起 用来存放我们的后台路由文件 并且创建路由文件

// 1.引用express
let express=require("express");
// 2得到路由功能
let router=express.Router()
// 3.创建对应的后台路由接口 req请求   res相应
// router.get("后台接口名",function(req,res){
   // 你的逻辑
// })

router.get("/user/zhuce",(req,res)=>{
   res.send({msg:"注册"})
})

// 4.暴露
module.exports=router

 

3.创建http服务并且把这些路由全部关联起来

// 1.引用express
let express=require("express")

let app=express()

// 2.引用路由文件
let demoa=require("./router/demoa.js")
let demob=require("./router/demob.js")
// 3.使用路由
app.use("/denglu",demoa)
app.use("/zhuce",demob)
// 4.设置端口
app.listen(8888)

mongodb

mongodb是什么?

是一个数据库

非关系型数据库

 

关系型数据库 mysql oracle sqlserver db2

非关系型数据库 mongodb redis

 

关系与非关系型数据库区别

关系型 默认情况下慢 稳定性高 背靠大山 库 表 字段

非关系型 默认情况下快 稳定性低 单打独斗 库 集合 文档

 

 

添加服务: mongod.exe --install --dbpath 你存储的数据目录(你刚才新建的db文件夹路径) --logpath 你的数据目录(你的data文件夹路径)\log.txt

 

 

操作

增 insert

db.集合名.insert({key:val,key2:val2})

db.集合名.remove({你要删除的key:你要删除的对应val})

db.集合名.update({你要修改谁的key:你要修改谁的val} , {$set:{改那个key:"改的val"}})

 

 

查 find

db.集合名.find()

 

limit 读取指定条数的数据

skip 跳过指定数量的数据

 

 

 

mongoose

是一个插件 用来方便我们使用node连接mongodb

1.下载 npm install --save mongoose

 

token

就是一段用于保存用户登录状态的加密字符串

JWT----jsonwebtoken 来生成加密的字符串

下载 npm install --save jsonwebtoken

 

生成token

sign(你要加密的数据,秘钥(越乱越好))

 

登陆成功之后生成一个包含登录状态的token

 

解密token

verify("你要解密的token",加密时候的秘钥,回调函数)

 

restful api

在传统的数据交互过程中 用到get/post请求 但是get/post 并不能很好的描述这个请求

restful api通过他 就可以简单的来进行对于当前接口的作用进行描述

 

GET 读取数据

POST 发送数据

PUT 修改 全部修改

PATCH 修改 部分修改

DELETE 删除

 

posted @ 2021-12-10 11:34  Lenhui  阅读(46)  评论(0)    收藏  举报