开始日期:2022-08-27

什么是Nodejs

nodejs就是JavaScript的运行时环境(宿主环境)

Nodejs的运行环境和浏览器的运行环境不一样

  • Nodejs不具备浏览器提供的DOM API

image.png
NodeJS 的基本架构
image.png
第一层

  • OS:操作系统

第二层

  • V8:JavaScript引擎,运行JS
  • LibUv:处理事件循环
  • c-ares:DNS解析
  • IIhttp/http-parse: HTTP 协议
  • open-ssl:HTTPS
  • zlib:文件压缩

第三层

  • Node.js Binding:将底层的C/C++写的库接口暴露给JS环境
  • Nodejs Standard Library:Nodejs 本身的核心模块
  • C/C++ AddOns:让用户自己的C/C++模块通过桥接的方式提供给Nodejs

第四层

  • NodeJS的API层: 业务开发,主要是使用各种API完成功能

第五层

  • NodeJS

NodeJS可以做什么

  • File System模块:提供文件和目录的读、写、创建、删除、权限配置等
  • Net模块:提供网络套接字,用来创建TCP链接
  • HTTP模块: 提供创建HTTP链接的能力,用来创建web服务器
  • URL模块:处理客户端请求的URL信息、解析URL字符串
  • Path模块:处理文件路径,解析文件路径
  • Process模块:用来获取进程信息
  • Buffer模块: 处理二进制数据
  • Console模块:控制台模块,输出信息
  • Crypto:加密模块
  • Events模块:用来监听和派发用户事件

Nodejs 模块化

从前端到全栈 - 图3

  1. // 在AMD规范下引用模块
  2. require(['axios'],function(axios){})
  3. // 在CMD规范下引用模块
  4. define(function(require){
  5. const axios = require('axios');
  6. })
  7. // 在CommonJS规范下引用模块
  8. const axios = require('axios');
  9. // 在ES Module规范下引用模块
  10. import axios from faxios'x