Node.js基础使用_2与express

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

构建后端项目的一个框架

  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(纯后端模板)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值