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
4. headers
1. general 概述
2. responseHeaders 响应头的配置和设置
3. requestHeaders 请求头的配置和设置
4. query string paramters 携带参数
5. Form data(表单提交的) 表单参数
node.js http.get 后端爬虫
数据抓取 —》 数据清洗 —》 数据格式整理—》 发送前台(web服务器)
反爬虫:
数据清洗的时候做,数据中用一个其他类型格式数据
events
实例
const EventEmitter = require('events');
// es6 类的继承
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
console.log( EventEmitter.prototype)
myEmitter.on('event', () => {
console.log('an event occurred!');
});
myEmitter.emit('event')
Emitter.prototype 继承过来了 on emit
on:绑定自定义事件
emit:触发自定义事件
fs/ zlib/ stream
需求:使用node.js制作一个压缩包
实例:
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. 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 322222222222test
npm restart -> npm run stop & npm run start
express
构建后端项目的一个框架
- 安装生成器
npm install express-generator -g - 使用
express options 项目名称 - 创建项目
举例: express 04-express-project - 目录内容
bin 项目的配置文件( 比如: port )
www 使用http模块创建一个web服务器
public 静态资源文件夹( html css images js )
routes 路由
views 后端模板文件夹
app.js 整个项目的入口文件
package.json 整个项目的依赖包配置文件( 说明书 ) - 项目的启动
- 先进入项目
cd 项目名称 - 安装项目需要的依赖
npm install - 项目启动(说明书 package.json 中 scripts脚本)
npm start
看到一个项目, 首先看项目的说明书(package.json)
- 先进入项目
- 看一个项目流程?
- package.json
依赖包
npm脚本–》 项目启动命令–》配置文件
- package.json
- 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渲染模板
- ejs
- pug(曾用名: jade) 语法功能很强大
- art-template(纯后端模板)