Node.js-2

208 阅读2分钟

Node.js事件驱动

  • 1.因为Node.js没有DOM,所以原生js的DOM事件都不能使用,于是创建了一个叫events的内置模块来解决这个问题。
  • 2.事件驱动的使用
const events=require("events");//引入模块
const proto=events.EventEmitter.prototype;//events是一个构造函数,通过原型使用下面的方法
proto.on("事件名","事件处理函数");//声明事件
proto.emit("事件名")//调用事件,如果事件需要传递参数,用,隔开跟上参数

readline命令行读取

模块提供了一个接口,用于一次一行地读取可读流(例如 process.stdin)中的数据。 它可以使用以下方式访问:

const readline=require("readline");
const rl=readline.creataInterface({//创建了一个可以输入输出的接口
    input: process.stdin,
    output: process.stdout
});
rl.question('请输入您想说的话:', (answer) => {
  if ( answer == '88' ) {
    rl.close()
  } else {

  }
});

简易爬虫

  • 1.通过http模块的get方法进行数据请求
  • 2.进行数据分析,通过第三方模块cherrio进行数据清洗
  • 3.发送给我们自己的网站进行渲染

Node.js的框架

  • 1.express框架
  • 2.koa框架,koa框架是express框架的进阶版

express

1.构成

  • 中间件(中间件就是一个封装函数,具有一定的功能)
  • express中间件的构成有哪些?
    • 应用级中间件
    • 路由中间件
    • 错误处理中间件
  • 中间件如何调用 -app对象来调用(调用express函数会返回一个app对象)
    • app.use(中间件)
  • 路由
    • 前端:接口
    • 后端:路由

2.跨域【后端跨域】

  • 设置请求头
  • response.setHeader("Access-Control-Allow-Origin",*);
  • 利用第三方模块来跨域cors

3.使用工程化工具来构建一个完整的express项目

  • 工程化工具/自动化工具/手脚架
    • express-genetator
      • express-gentator工具的使用
        • 1.安装
          • $cnpm install express-genetator -g
          • $express -e 项目名称
        • OR
        • 2.不安装
          • 保证你电脑中的npm版本大于5.2
          • $npx express -e 项目名称
        • 名词解释:-e 表示ejs文件,它是一个html模板

express-genetator

  1. 目录

    • bin/www 为项目创建了一个服务器
    • public 静态资源文件夹
      • img
      • style
      • js
    • routes 路由
    • views
      • 路由对应的模板,这个模板将来会发送给前端,发给前端前会被解析为html文件
    • app.js 项目入口文件
    • packge.json
      • 表示项目启动脚本记录 、 项目所需要的依赖包【 插件 】
  2. Node.js可以当做一个后端的角色

    • 能不能给前端做接口
    • 去熟悉项目运行思维
      • package.json -> node ./bin/www -> app.js -> routes/index.js & users.js
  3. 后端测试接口

    • postman
    • insomnia