Node.js的基本使用2
linux命令
1. mkdir 创建文件夹
2. vim 简写 vi 创建文件的
3. rm -rf 文件名称 删除
4. 递归删除
find ./ -name '文件名称' -print -exec rm -rf {} \;
举例: find ./ -name 'node_modules' -print -exec rm -rf {} \;
5. cat 文件名称 查看某个文件的内容
前端渲染 vs 后端渲染
1. 前端拿到数据之后, 前端来渲染数据
2. 后端来进行渲染( express )
3. 浏览器 -》 开发者工具-》 network
1. headers
1. general
2. responseHeaders
3. requestHeaders
4. query string paramters
5. Form data(表单提交的)
4.前后端渲染优劣分析
地址:https://www.cnblogs.com/zhangrunhao/p/6845626.html
node.js http.get 后端爬虫
步骤:
数据抓取 ---》 数据清洗 ---》 数据格式整理---》 发送前台(web服务器)
爬虫案例:
反爬虫:
数据清洗的时候做,数据中用一个其他类型格式数据
events
1. Emitter.prototype 继承过来了 on emit
- on:事件的定义
- emit:事件的触发
2.
fs/ zlib/ stream
1.fs(文件模块)
fs.readFile
fs.open
fs.openSync(open的同步方式)
fs.write
fs.close
fs.unlink
fs.readdir
**注意:fs 模块的每一个方法都提供了异步与同步的两种操作方式。其中,异步的方式性能高,是一种推 荐的操作方式。如果您需要采用同步的方式,只要在异步方法名后面加上 Sync 即可,同时去掉末尾的 callback 参数**。
2.zlib
3.stream(流模块)
流是一个抽象接口,有四种流类型
readable:可读
writable:可写操作
duplex:可读可写操作
transform:操作被写入数据,然后读出结果
4.联合项目:制作压缩包
制作一个压缩包的流程:
1. 先有一个文件
2. 读取文件
3. 制作压缩包
4. 将读取的数据放入到压缩包中
code:
const zlib = require('zlib');
const fs = require('fs');
//创建可读的流
const inp = fs.createReadStream('yyb.txt');
//创建空压缩包
const gzip = zlib.createGzip();
//创建可写的流
const out = fs.createWriteStream('yyb.txt.gz');
inp.pipe(gzip).pipe(out);
Node.js原生路由
1. 为什么要引进前端路由这样一个东西
前端异步流程控制工具( 所有的 )
1. Promise
https://blog.csdn.net/MrJavaweb/article/details/79475949
2. Generator
https://www.cnblogs.com/imwtr/p/5913294.html
3. Async-await
4. Node.js 中的nextTick()和setimmediate()
https://www.cnblogs.com/5ishare/p/5268273.html
5. async库
https://caolan.github.io/async/
参考文档
Event-loop
http://www.ruanyifeng.com/blog/2014/10/event-loop.html?bsh_bid=983729729
史上最易读懂的 Promise/A+ 完全实现
https://zhuanlan.zhihu.com/p/21834559
npm script( npm脚本 )
1. 概念:
npm 允许在package.json文件里面,使用scripts字段定义脚本命令。
2. 常用使用:
1. npm脚本就相当于一个 电器的使用说明书
2. npm脚本运行使用 npm run
3. npm脚本可以简写,但是只有特定几个
npm start -> npm run start
npm stop -> npm run stop
npm text -> npm run test
npm restart -> npm run stop & npm run start
express
构建后端项目的一个框架
1. 安装生成器
npm install express-generator -g
2. 使用
express options 项目名称
3. 创建项目
举例: express 04-express-project
4. 目录内容
bin 项目的配置文件( 比如: port )
www 使用http模块创建一个web服务器
public 静态资源文件夹( html css images js )
routes 路由
views 后端模板文件夹
app.js 整个项目的入口文件
package.json 整个项目的依赖包配置文件( 说明书 )
5. 项目的启动
1. 先进入项目
cd 项目名称
2. 安装项目需要的依赖
npm install
3. 项目启动(说明书 package.json 中 scripts脚本)
npm start
建议:
养成一个习惯: 看到一个项目, 首先看项目的说明书(package.json)
6. 看一个项目流程?
1. package.json
依赖包
npm脚本--》 项目启动命令--》配置文件
7. express 中间件 Middleware
中间件: 具有特定功能的函数
中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。
中间件的功能包括:
*
执行任何代码。
*
修改请求和响应对象。
*
终结请求-响应循环。
*
调用堆栈中的下一个中间件。
中间件包含三个部分(形式参数)
request : 请求
response: 响应
next: 请求和响应流程中的中间件, 用next变量表示
express中提供了
1. 应用级中间件
应用级中间件就是一个具有特定功能性的函数, 这个函数需要绑定在app对象身上,通过app.use() || app.method() 来调用
2. 路由中间件
3. 错误中间件
app对象
const app = express()
使用:
1. app.use() 调用中间件(函数)
2. app.method() 处理http请求的
前端的请求方式很多的: 比如: get post delete put all
杭州: Node.js中间件封装
Node.js渲染模板
1. ejs
2. pug(曾用名: jade) 语法功能很强大
3. art-template(纯后端模板)
文章名称:Node.js的基本使用2
文章来源:http://myzitong.com/article/jjhheh.html