Nodejs简单学习笔记

Nodejs

简单介绍

什么是node.js?

基于ChromeV8引擎的JavaScript运行环境,

安装后尽量将这两个文件夹配置在目录及父目录没有空格的地方

在这里插入图片描述

修改可以通过npm config edit找到配置项配置


什么是终端?

在这里插入图片描述

在Node.js环境中执行JavaScript代码

打开终端

node 要执行的js文件路径


在这里插入图片描述


fs文件系统模块

读取文件


在这里插入图片描述

格式

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

为null表示没有错误信息,读取成功!!!


写入文件

在这里插入图片描述

为null表示没有错误信息,写入成功!!!


路径动态拼接

在这里插入图片描述

出现路径拼接问题,是因为使用了相对路径,解决是使用绝对路径即可。

__dirname表示当前文件所处的目录


Path路径模块

在这里插入图片描述

../会抵消路径

在这里插入图片描述

例如fs.readFile()可以这样写,不要使用+可能会导致问题
在这里插入图片描述


获取文件名

在这里插入图片描述

示例

在这里插入图片描述

传第二个参数表示只获取文件名称不获取文件扩展名


获取文件扩展名

在这里插入图片描述


Http模块

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

服务器相关概念

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


域名和域名服务器

在这里插入图片描述

在这里插入图片描述

端口号
在这里插入图片描述

在这里插入图片描述


创建基本的web服务器

步骤一

在这里插入图片描述

步骤2

在这里插入图片描述

步骤3

在这里插入图片描述

步骤4
在这里插入图片描述


创建!
在这里插入图片描述

使用node xx.js运行js文件

const http = require('http')

const server = http.createServer()

server.on('request',function(req,res){
    console.log('服务器被请求')
})

server.listen(80,function(){
    console.log('服务器80已经启动!')
})

req请求对象

请求

在这里插入图片描述
在这里插入图片描述

req.url是端口号后面的字符串

响应
在这里插入图片描述


解决乱码问题

写完记得重启服务器


动态响应

在这里插入图片描述
在这里插入图片描述

模块化

什么是模块化?

在这里插入图片描述


在这里插入图片描述


模块化规范
在这里插入图片描述

模块分类

在这里插入图片描述

模块加载

在这里插入图片描述

省略.js等文件后缀名也可以正常引入(自动补全)


模块作用域

好处

防止了全局变量污染的问题

module对象

在这里插入图片描述

module.exports对象

在这里插入图片描述

使用module.exports共享成员

在这里插入图片描述

随后,我们就可以获取我们引入的方法


在这里插入图片描述

exports对象

使用误区:

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

npm与包

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

地址:

[https://www.npmjs.com/]

在这里插入图片描述


npm初体验

在这里插入图片描述

在这里插入图片描述

安装包

在这里插入图片描述

注意点

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


安装指定版本

在这里插入图片描述

在这里插入图片描述


包管理配置文件

在这里插入图片描述


多人协作的问题
在这里插入图片描述


在这里插入图片描述


快速创建package.json

在这里插入图片描述

在这里插入图片描述


dependencies节点

可以通过

在这里插入图片描述

一次性安装所有包

在这里插入图片描述


卸载包

在这里插入图片描述


devDependencies节点

在这里插入图片描述

--save-dev简写为-D的写法

在这里插入图片描述

npm i xx yy空格隔开安装多个包
–save 等同于 -S (常用,可保存在package.json文件中),
-S, --save 安装包信息将加入到dependencies(生产阶段的依赖,也就是项目运行时的依赖,就是程序上线后仍然需要依赖)

下载速度慢

默认使用国外服务器

在这里插入图片描述


在这里插入图片描述

nrm

在这里插入图片描述
在这里插入图片描述

包的分类

两类:

  • 项目包
  • 全局包
    在这里插入图片描述

现npm i 包名 -S与什么都不加类似


全局包

在这里插入图片描述


在这里插入图片描述


i5ting_toc

在这里插入图片描述

-o转换完成后默认浏览器打开


规范

在这里插入图片描述

在这里插入图片描述


开发自己的包

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


ES6

在这里插入图片描述

在这里插入图片描述

说明文档

在这里插入图片描述


发布包

注册npm账号

在终端中登录

在这里插入图片描述

npm login


在这里插入图片描述


npm publish
在这里插入图片描述


删除已经发布的包

npm unpublish 包名 --force命令

在这里插入图片描述


在这里插入图片描述


如何更新?

更新版本:
1.先把.json文件里面的版本号修改
2.再继续使用上传命令: npm publish
3.这样就ok了

模块的加载机制

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Express

什么是express

在这里插入图片描述


在这里插入图片描述


Epress能做什么

在这里插入图片描述


在这里插入图片描述


创建web服务器

在这里插入图片描述


基本使用

所有请求

app.all(...)

监听Get请求

在这里插入图片描述

监听Post请求
在这里插入图片描述


响应给客户端

在这里插入图片描述


获取参数

在这里插入图片描述


获取动态参数

在这里插入图片描述

注意点:

  • 名称自己随便起
  • 可以有多个

静态资源处理

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


nodemon

为什么

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


Epress路由

在这里插入图片描述


路由示例

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


示例

在这里插入图片描述


模块化路由

在这里插入图片描述

示例

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Express中间件

在这里插入图片描述


格式
在这里插入图片描述
在这里插入图片描述


next函数

在这里插入图片描述

中间件初体验

在这里插入图片描述


全局生效中间件

使用app.use(…)

在这里插入图片描述


简化方式
在这里插入图片描述

作用

在这里插入图片描述


多个中间件

在这里插入图片描述


局部生效中间件

在这里插入图片描述



多个局部中间件


中间件注意事项

在这里插入图片描述


中间件分类

在这里插入图片描述

应用级别的中间件

在这里插入图片描述

路由级别的中间件

在这里插入图片描述

错误级别的中间件

在这里插入图片描述

在这里插入图片描述

Express内置中间件

在这里插入图片描述


第三方中间件

在这里插入图片描述


自定义中间件

在这里插入图片描述

步骤

在这里插入图片描述

在这里插入图片描述


qs

node.js内置的querystring模块

在这里插入图片描述


在这里插入图片描述

封装为模块
在这里插入图片描述


使用Express写接口

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

跨域问题

在这里插入图片描述

使用cors中间件

在这里插入图片描述


注意在路由之前配置cors中间件

什么是cors

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

响应头部

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

简单请求

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

JSONP接口

在这里插入图片描述
在这里插入图片描述

如果有拦截需要/api才能访问,记得拼接/api
在这里插入图片描述

在这里插入图片描述

网页中发起jsonp请求

在这里插入图片描述


Web开发模式

在这里插入图片描述

在这里插入图片描述


前后端分离

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


身份认证

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Session

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


Cookie
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


作用

在这里插入图片描述


不具安全性
在这里插入图片描述


在这里插入图片描述


提高安全性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BP8dlDu8-1648214050356)(https://gitee.com/onlineshow/pic-go/raw/master/img/markdown/image-20220318220458491.png)]


session工作原理

在这里插入图片描述


在Express中使用Session认证

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


JWT认证机制

在这里插入图片描述


在这里插入图片描述

工作原理

在这里插入图片描述


在这里插入图片描述


组成部分

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


使用jwt
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述在这里插入图片描述


在这里插入图片描述


解密
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


express-jwt最新版本需要配置algorithms算法,一般默认是HS256,配置格式expressJWT({secret: secretKey, algorithms: [‘HS256’]})


在这里插入图片描述

MySQL

在这里插入图片描述

安装配置mysql

在这里插入图片描述


在这里插入图片描述


测试

在这里插入图片描述


操作数据库
在这里插入图片描述

返回数组对象


插入数据

在这里插入图片描述


affectedRows影响行数


快捷方式

在这里插入图片描述


在这里插入图片描述


便捷方式
在这里插入图片描述


在这里插入图片描述


标记删除
在这里插入图片描述


..(img-KdBKtwrD-1648214050360)]

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值