快速入门Node.js

143 阅读3分钟

Node 简介


what is node?

  • Node.js 是一个基于Chrome V8引擎的JavaScript运行环境
  • Node.js 使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效
  • Node.js 的包管理工具npm,是全球最大的开源库生态系统
  • 官网: nodejs.cn/
  • npm插件官网: www.npmjs.com/

环境配置


Node的安装

  • 安装包安装
  • 官网下载对应的安装包
  • 一路next

包管理工具 nvm

  • 为什么要下载这个包管理工具呢?
  • 由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这个包管理工具进行对Node版本切换
  • 下载地址 github.com/coreybutler… 建议下载第三个
  • 怎么看nvm是否下载成功了呢?
  • nvm -v 查看版本号
  • nvm list 查看列表
  • nvm install 版本号 安装node
  • nvm uninstall 版本号 卸载node
  • 查看镜像源
  • $ npm config get registry registry.npmjs.org/
  • 更改镜像源
  • npm config set registry 淘宝镜像的连接地址 registry.npm.taobao.org

模块化

  • 规范 AMD CMD COMMONJS(Node)

模块3步走(功能代码的抽离)

  1. 创建一个模块,并抛出module,exprorts = 模块
  2. 引入模块require('路径')
  3. 使用模块

模块的分类

  1. 内置模块node自己携带的模块,可以直接使用
  2. 第三方模块 先下载模块再使用
  3. 自定义模块 开发者自己写的模块

文件操作模块(curd,增删改查)

  1. 对文件夹的做操作 mkdir rmdir readdir rename
  2. 文件的操作 writeFile appendFile unlink readFile
  • 这是文件夹操作的代码
  • 这是文件操作的代码

爬虫的步骤

  1. 通过http 或者 https 模块获取网络资源(网页 记事本 图片 音频 视频等等)

代码同步异步问题

  1. 多个异步操作按照固定的顺序执行
  • 回调嵌套
  • 回调地狱
  • promise的链式调用
  • async await(未同步)

node的框架 express

  • 需要通过vsCode的终端下载
  • npm install express

api接口的构成

  • 接口四要素:接口地址url、请求的方法、传递的数据、返回信息
  • 前端:传递数据给后端、处理后端返回结果
  • 后端:接受前端传递的数据、处理数据、将数据结果返回给前端
  • 前端接口测试的工具 postman

中间件 middleware (拦截器)中间的插件

  • 中间件的本质是一个函数 常用的情况下有三个参数 req res next
  • 中间件的分类
  1. 自定义中间件 自己写的
  2. 内置中间件 静态资源路径就这一种
  3. 第三方中间件 cors body-parser别人写好的我们来用

跨域(浏览器的同源策略)

  • jsonp跨域 script里的src不受同源策略影响 需要提供接口的后端参与
  • cors 设置请求头 需要提供接口的后端参与
  • 服务器代理 服务器之间的请求没有跨域问题

路由

  • 根据路径将代码进行拆分模块化
  • 将相关的api放到一个路由里 创建一个 userRouter.js文件 const express = require('express') const router = express.Router() router.get('/login',(req,res)=>{ .... }) module.exports= router