Nodejs简单学习笔记

文章目录

  • Nodejs
    • 简单介绍
    • fs文件系统模块
      • 读取文件
      • 写入文件
      • 路径动态拼接
    • Path路径模块
    • Http模块
      • 服务器相关概念
      • 创建基本的web服务器
      • req请求对象
      • 解决乱码问题
      • 动态响应
    • 模块化
      • 模块分类
      • 模块作用域
      • module对象
      • module.exports对象
      • exports对象
    • npm与包
      • npm初体验
      • 安装包
      • 注意点
      • 包管理配置文件
      • 快速创建package.json
        • dependencies节点
        • 一次性安装所有包
        • devDependencies节点
    • `npm i xx yy`空格隔开安装多个包 --save 等同于 -S (常用,可保存在package.json文件中), -S, --save 安装包信息将加入到dependencies(生产阶段的依赖,也就是项目运行时的依赖,就是程序上线后仍然需要依赖)
      • 下载速度慢
      • 包的分类
      • i5ting_toc
      • 规范
      • 开发自己的包
      • 发布包
      • 模块的加载机制
    • Express
      • 创建web服务器
      • 基本使用
      • 静态资源处理
      • nodemon
      • Epress路由
      • 模块化路由
      • Express中间件
      • 中间件初体验
      • 局部生效中间件
      • 中间件注意事项
      • 中间件分类
      • 自定义中间件
      • 使用Express写接口
        • 跨域问题
          • 简单请求
        • JSONP接口
      • Web开发模式
      • 身份认证
      • Session
        • 在Express中使用Session认证
      • JWT认证机制
    • MySQL

Nodejs

简单介绍

什么是node.js?

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

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

Nodejs简单学习笔记_第1张图片

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


什么是终端?

Nodejs简单学习笔记_第2张图片

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

打开终端

node 要执行的js文件路径


Nodejs简单学习笔记_第3张图片


fs文件系统模块

读取文件


Nodejs简单学习笔记_第4张图片

格式

Nodejs简单学习笔记_第5张图片

Nodejs简单学习笔记_第6张图片


Nodejs简单学习笔记_第7张图片

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


写入文件

Nodejs简单学习笔记_第8张图片

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


路径动态拼接

Nodejs简单学习笔记_第9张图片

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

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


Path路径模块

Nodejs简单学习笔记_第10张图片

../会抵消路径

Nodejs简单学习笔记_第11张图片

例如fs.readFile()可以这样写,不要使用+可能会导致问题
Nodejs简单学习笔记_第12张图片


获取文件名

Nodejs简单学习笔记_第13张图片

示例

Nodejs简单学习笔记_第14张图片

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


获取文件扩展名

Nodejs简单学习笔记_第15张图片


Http模块

Nodejs简单学习笔记_第16张图片

在这里插入图片描述

在这里插入图片描述

服务器相关概念

Nodejs简单学习笔记_第17张图片

在这里插入图片描述

在这里插入图片描述


域名和域名服务器

Nodejs简单学习笔记_第18张图片

在这里插入图片描述

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

Nodejs简单学习笔记_第19张图片


创建基本的web服务器

步骤一

Nodejs简单学习笔记_第20张图片

步骤2

Nodejs简单学习笔记_第21张图片

步骤3

Nodejs简单学习笔记_第22张图片

步骤4
Nodejs简单学习笔记_第23张图片


创建!
Nodejs简单学习笔记_第24张图片

使用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请求对象

请求

Nodejs简单学习笔记_第25张图片
Nodejs简单学习笔记_第26张图片

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

响应
Nodejs简单学习笔记_第27张图片


解决乱码问题

Nodejs简单学习笔记_第28张图片

写完记得重启服务器


动态响应

Nodejs简单学习笔记_第29张图片
Nodejs简单学习笔记_第30张图片

模块化

什么是模块化?

Nodejs简单学习笔记_第31张图片


Nodejs简单学习笔记_第32张图片


模块化规范
Nodejs简单学习笔记_第33张图片

模块分类

Nodejs简单学习笔记_第34张图片

模块加载

Nodejs简单学习笔记_第35张图片

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


模块作用域

Nodejs简单学习笔记_第36张图片

好处

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

module对象

Nodejs简单学习笔记_第37张图片

module.exports对象

Nodejs简单学习笔记_第38张图片

使用module.exports共享成员

Nodejs简单学习笔记_第39张图片

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


Nodejs简单学习笔记_第40张图片

exports对象

Nodejs简单学习笔记_第41张图片

使用误区:

Nodejs简单学习笔记_第42张图片
在这里插入图片描述


Nodejs简单学习笔记_第43张图片

npm与包

Nodejs简单学习笔记_第44张图片

Nodejs简单学习笔记_第45张图片
Nodejs简单学习笔记_第46张图片


Nodejs简单学习笔记_第47张图片

地址:

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

Nodejs简单学习笔记_第48张图片


npm初体验

Nodejs简单学习笔记_第49张图片

Nodejs简单学习笔记_第50张图片

安装包

Nodejs简单学习笔记_第51张图片

注意点

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


安装指定版本

Nodejs简单学习笔记_第52张图片

Nodejs简单学习笔记_第53张图片


包管理配置文件

Nodejs简单学习笔记_第54张图片


多人协作的问题
Nodejs简单学习笔记_第55张图片


Nodejs简单学习笔记_第56张图片


快速创建package.json

Nodejs简单学习笔记_第57张图片

在这里插入图片描述


dependencies节点

可以通过

Nodejs简单学习笔记_第58张图片

一次性安装所有包

Nodejs简单学习笔记_第59张图片


卸载包

Nodejs简单学习笔记_第60张图片


devDependencies节点

Nodejs简单学习笔记_第61张图片

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

Nodejs简单学习笔记_第62张图片

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

下载速度慢

默认使用国外服务器

Nodejs简单学习笔记_第63张图片


Nodejs简单学习笔记_第64张图片

nrm

在这里插入图片描述
Nodejs简单学习笔记_第65张图片

包的分类

两类:

  • 项目包
  • 全局包
    Nodejs简单学习笔记_第66张图片

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


全局包

Nodejs简单学习笔记_第67张图片


Nodejs简单学习笔记_第68张图片


i5ting_toc

Nodejs简单学习笔记_第69张图片

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


规范

Nodejs简单学习笔记_第70张图片

在这里插入图片描述


开发自己的包

Nodejs简单学习笔记_第71张图片


Nodejs简单学习笔记_第72张图片


Nodejs简单学习笔记_第73张图片


ES6

Nodejs简单学习笔记_第74张图片

Nodejs简单学习笔记_第75张图片

说明文档

在这里插入图片描述


发布包

注册npm账号

在终端中登录

在这里插入图片描述

npm login


Nodejs简单学习笔记_第76张图片


npm publish
Nodejs简单学习笔记_第77张图片


删除已经发布的包

npm unpublish 包名 --force命令

Nodejs简单学习笔记_第78张图片


Nodejs简单学习笔记_第79张图片


如何更新?

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

模块的加载机制

Nodejs简单学习笔记_第80张图片


Nodejs简单学习笔记_第81张图片


Nodejs简单学习笔记_第82张图片


Nodejs简单学习笔记_第83张图片


Nodejs简单学习笔记_第84张图片


Nodejs简单学习笔记_第85张图片


Express

什么是express

Nodejs简单学习笔记_第86张图片


Nodejs简单学习笔记_第87张图片


Epress能做什么

Nodejs简单学习笔记_第88张图片


Nodejs简单学习笔记_第89张图片


创建web服务器

Nodejs简单学习笔记_第90张图片


基本使用

所有请求

app.all(...)

监听Get请求

Nodejs简单学习笔记_第91张图片

监听Post请求
Nodejs简单学习笔记_第92张图片


响应给客户端

Nodejs简单学习笔记_第93张图片


获取参数

Nodejs简单学习笔记_第94张图片


获取动态参数

Nodejs简单学习笔记_第95张图片

注意点:

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

静态资源处理

Nodejs简单学习笔记_第96张图片


在这里插入图片描述


Nodejs简单学习笔记_第97张图片

在这里插入图片描述

Nodejs简单学习笔记_第98张图片

Nodejs简单学习笔记_第99张图片


nodemon

为什么

Nodejs简单学习笔记_第100张图片


Nodejs简单学习笔记_第101张图片


Nodejs简单学习笔记_第102张图片

Nodejs简单学习笔记_第103张图片


Epress路由

Nodejs简单学习笔记_第104张图片


路由示例

Nodejs简单学习笔记_第105张图片


Nodejs简单学习笔记_第106张图片


Nodejs简单学习笔记_第107张图片


示例

Nodejs简单学习笔记_第108张图片


模块化路由

Nodejs简单学习笔记_第109张图片

示例

Nodejs简单学习笔记_第110张图片

Nodejs简单学习笔记_第111张图片


在这里插入图片描述


Nodejs简单学习笔记_第112张图片


Express中间件

Nodejs简单学习笔记_第113张图片


格式
Nodejs简单学习笔记_第114张图片
在这里插入图片描述


next函数

在这里插入图片描述

中间件初体验

Nodejs简单学习笔记_第115张图片


全局生效中间件

使用app.use(…)

Nodejs简单学习笔记_第116张图片


简化方式
Nodejs简单学习笔记_第117张图片

作用

Nodejs简单学习笔记_第118张图片


多个中间件

Nodejs简单学习笔记_第119张图片


局部生效中间件

Nodejs简单学习笔记_第120张图片


Nodejs简单学习笔记_第121张图片


多个局部中间件

Nodejs简单学习笔记_第122张图片


中间件注意事项

Nodejs简单学习笔记_第123张图片


中间件分类

Nodejs简单学习笔记_第124张图片

应用级别的中间件

Nodejs简单学习笔记_第125张图片

路由级别的中间件

Nodejs简单学习笔记_第126张图片

错误级别的中间件

在这里插入图片描述

Nodejs简单学习笔记_第127张图片

Express内置中间件

Nodejs简单学习笔记_第128张图片


第三方中间件

Nodejs简单学习笔记_第129张图片


自定义中间件

Nodejs简单学习笔记_第130张图片

步骤

Nodejs简单学习笔记_第131张图片

Nodejs简单学习笔记_第132张图片


qs

node.js内置的querystring模块

Nodejs简单学习笔记_第133张图片


Nodejs简单学习笔记_第134张图片

封装为模块
Nodejs简单学习笔记_第135张图片


使用Express写接口

Nodejs简单学习笔记_第136张图片


Nodejs简单学习笔记_第137张图片


Nodejs简单学习笔记_第138张图片


Nodejs简单学习笔记_第139张图片

跨域问题

Nodejs简单学习笔记_第140张图片

使用cors中间件

Nodejs简单学习笔记_第141张图片


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

什么是cors

Nodejs简单学习笔记_第142张图片

Nodejs简单学习笔记_第143张图片


Nodejs简单学习笔记_第144张图片

响应头部

Nodejs简单学习笔记_第145张图片


Nodejs简单学习笔记_第146张图片


Nodejs简单学习笔记_第147张图片


Nodejs简单学习笔记_第148张图片


Nodejs简单学习笔记_第149张图片

简单请求

Nodejs简单学习笔记_第150张图片

Nodejs简单学习笔记_第151张图片


Nodejs简单学习笔记_第152张图片

JSONP接口

Nodejs简单学习笔记_第153张图片
Nodejs简单学习笔记_第154张图片

如果有拦截需要/api才能访问,记得拼接/api
Nodejs简单学习笔记_第155张图片

Nodejs简单学习笔记_第156张图片

网页中发起jsonp请求

Nodejs简单学习笔记_第157张图片


Web开发模式

Nodejs简单学习笔记_第158张图片

Nodejs简单学习笔记_第159张图片


前后端分离

在这里插入图片描述


Nodejs简单学习笔记_第160张图片


Nodejs简单学习笔记_第161张图片


身份认证

Nodejs简单学习笔记_第162张图片


Nodejs简单学习笔记_第163张图片


Nodejs简单学习笔记_第164张图片


Session

Nodejs简单学习笔记_第165张图片

Nodejs简单学习笔记_第166张图片


在这里插入图片描述


Cookie
在这里插入图片描述


在这里插入图片描述


Nodejs简单学习笔记_第167张图片


作用

Nodejs简单学习笔记_第168张图片


不具安全性
Nodejs简单学习笔记_第169张图片


在这里插入图片描述


提高安全性

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


session工作原理

Nodejs简单学习笔记_第170张图片


在Express中使用Session认证

Nodejs简单学习笔记_第171张图片


Nodejs简单学习笔记_第172张图片


Nodejs简单学习笔记_第173张图片


Nodejs简单学习笔记_第174张图片


Nodejs简单学习笔记_第175张图片


Nodejs简单学习笔记_第176张图片


JWT认证机制

Nodejs简单学习笔记_第177张图片


Nodejs简单学习笔记_第178张图片

工作原理

Nodejs简单学习笔记_第179张图片


在这里插入图片描述


组成部分

Nodejs简单学习笔记_第180张图片


Nodejs简单学习笔记_第181张图片


Nodejs简单学习笔记_第182张图片


使用jwt
Nodejs简单学习笔记_第183张图片


Nodejs简单学习笔记_第184张图片


Nodejs简单学习笔记_第185张图片Nodejs简单学习笔记_第186张图片


Nodejs简单学习笔记_第187张图片


解密
Nodejs简单学习笔记_第188张图片


Nodejs简单学习笔记_第189张图片

在这里插入图片描述


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


Nodejs简单学习笔记_第190张图片

MySQL

Nodejs简单学习笔记_第191张图片

安装配置mysql

Nodejs简单学习笔记_第192张图片


Nodejs简单学习笔记_第193张图片


测试

Nodejs简单学习笔记_第194张图片


操作数据库
Nodejs简单学习笔记_第195张图片

返回数组对象


插入数据

Nodejs简单学习笔记_第196张图片


affectedRows影响行数


快捷方式

Nodejs简单学习笔记_第197张图片


Nodejs简单学习笔记_第198张图片


便捷方式
Nodejs简单学习笔记_第199张图片


Nodejs简单学习笔记_第200张图片


标记删除
Nodejs简单学习笔记_第201张图片


Nodejs简单学习笔记_第202张图片

你可能感兴趣的:(JS,node.js)