Node基础学习笔记

108 阅读3分钟

Node.js 是什么

  1. node不是一门语言,不是库,也不是框架,而是一个建立在谷歌V8引擎的用来解析和执行js代码的运行环境。
  2. 特点: 应用数据驱动 非阻塞I/O模型(异步操作) 轻量级 高效
  3. node.js的包的生态系统----npm ,是世界上最大的开源库生态系统 绝大多数的js相关的包 都存放在了npm上,方便开发人员下载和应用。npm install 包名
  4. node可以让js脱离浏览器来运行了 浏览器中的JS:
ECMAScript
if
var
function
object
array
BOM
DOM

… node中的JS: ECMAScript 没有BOM DOM 在node这个js执行环境中为JS提供了一些服务器级别的API,例如: 文件读写fs,网络服务构建,网络通信,http服务器等

node.js能做什么?

  1. web服务器后台
  2. 命令行工具 npm hexo等命令
  3. API 文档 | Node.js 中文网 (nodejs.cn)

Node模块

三种模块:

  1. 全局模块
  2. 系统模块
  3. 自定义模块

1、全局模块

全局使用,不需要引用

1675755164760_0C1AD7F1-4DF0-4353-98BC-B9F8E9B31D8D.png

image.png

2、系统模块

  • 需要require引入,不需要单独下载
  • path: 用于处理文件路径和目录路径的实用工具

image.png fs 用于文件读写操作

image.png

3、自定义模块

  • export
  • module
  • require查找规则:
  1. 如果有路径就去路径中查找
  2. 如果没有路径就去node_modules文件夹中查找
  3. 最后去node安装目录中查找

image.png

image.png

image.png

模块化

Node.js 中根据模块来源的不同,将模块分为了 3 大类,分别是:

  • 内置模块(内置模块是由 Node.js 官方提供的,例如 fs、path、http 等)

  • 自定义模块(用户创建的每个 .js 文件,都是自定义模块)

  • 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)

使用强大的 require() 方法,可以加载需要的内置模块、用户自定义模块、第三方模块进行使用。

注意:使用 require() 方法加载其它模块时,会执行被加载模块中的代码。

模块作用域

和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域

模块作用域的好处防止了全局变量污染的问题。

核心Http模块

服务器对象

image.png

image.png

image.png

GET请求和POST请求

image.png

代码实例

image.png

image.png

项目案例(blog.csdn.net/mouday/arti…)

总结回顾

1. Node作用

  • webAPI
  • 中间层
  • 前端工程化 webpack

2、优势

  • 便于前端入手
  • 性能高

3、npm 管理优势

  • npm i jquery
  • npm un jquery
  • package.json

4、三大模块

  • 全局模块
  • 系统模块 require
  • 自定义模块 module.exports

5、http

  • 数据通信
  • get
  • url模块
  • querystring模块
  • post request.on(‘data’, buffer=>{

})

  • request.on(‘end’, ()=>{ Buffer.concat(arr).toString() })

6、设计API

方式 GET, POST

名称 /login

参数 username, password

返回值 { code: 0, msg: ‘’ }

7、深入

express/koa2

MongoDB