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 参数 **.
- zlib
- 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(纯后端模板)
来源: http://www.bubuko.com/infodetail-3019089.html