回忆一下Node(随时更改,想到什么写什么)
-
-
node.js 是一个基于chrome v8 引擎的javascript运行环境
-
node.js使用了一个事件驱动、非阻塞式i/o的模型,使其轻量又高效
-
事件驱动: 任务执行,发布者,订阅者,事件驱动 ( on emit )
-
非阻塞: 执行某一个任务的同时也可以执行其他任务
-
i/o: 输入/输出( 数据库操作,文件系统操作等 )
-
非阻塞i/o模型: 当我们使用node.js来实现数据库操作、文件系统等操作时,要进行的异步操作,异步操作的核心传统实现方式就是回调函数
-
-
-
node中流的概念:
-
什么是流?
-
流指的是数据流,是数据的分片传输
-
-
为什么node中要有流呢?
-
让数据可以实现非阻塞
-
-
-
gulp就是最典型的例子
-
-
-
前端模块化:amd,cmd,commonjs
-
node应用由模块组成,采用commonjs模块规范
-
-
node中哪些常用的内置模块:
-
fs
模块-
fs(文件系统)用于以模仿标准 posix 函数的方式与文件系统进行交互。
-
const fs = require('fs');
使用fs模块 -
const inp = fs.createreadstream();
读取文件内容,()里面填写的是路径 -
const outp = fs.createwritestream();
流正在写入的文件的路径,()里面填写的是路径
-
-
zlib
模块-
zlib(压缩)提供通过 gzip 和 deflate/inflate 实现的压缩功能
-
const zlib = require('zlib')使用压缩模块
-
const gzip = zlib.creategzip()
创建一个空的压缩包
-
-
http
模块-
要使用
http
服务器和客户端,必须使用http
模块const http = require( 'http' )
-
后端服务器有两种类型
-
1. web服务器 【 静态服务器 】
2. api服务器 【 暴露接口 】api服务器的创建,需要使用一个第三方库 express
-
-
请求头部报文
-
1. general 请求基本信息
2. response headers 响应头
3. request headers 请求头
4. 携带参数
- query string paramters get请求
- form data post 请求
-
-
爬虫
1.去某一个网站爬取一段数据 -> 数据清洗 -> 后端服务器 -> 发送前端 -> 渲染数据
2.不是所有网站都可以爬取
3.反爬虫 :只需在数据中插入一些图片,即可成为最简单的反爬虫
4.爬虫只能爬取由后端渲染的网站
-
-
event 模块
-
事件的发布 发布者 订阅者 事件的订阅
-
-
第三方模块
-
从npm.js.com网站拉取第三方模块
-
安装:
-
在终端输入
npm init -y
创建package.json文件 -
再输入npm i request -s/-d
-
-
使用:
-
比如request模块(数据请求模块)
const request
-
request(url, ()=>{})
-
-
-
自定义模块
-
const name = { name: 'name'} 创建模块
-
module.exports.x = x 导出模块
-
module.exports = {name}批量导出模块
-
-
-
后端解决跨域问题
-
设置请求头
-
缺点:每个接口都要设置请求头跨域
res.setheader('access-control-allow-origin', '*');
-
-
反向代理
-
后端请求数据再发送给前端
-
-
使用中间件
-
需要使用第三方的包cors
-
-
-
上一篇: C#实现回文检测的方法
下一篇: Python 3 中有六个标准的数据类型