Node 基础

130 阅读1分钟

Node

Node.js 是什么

是一种应用程序,建立在 v8 引擎上面的应用程序,使 js 可以在上面运行

V8 引擎可以解析并运行 js 代码

node.js 里还包含文件系统读写、网络io、加密、文件压缩等

node 是用 js、c++、c语言编写的

浏览器和Node.js架构区别

image.png image.png

Node.js 应用场景

  • 前端开发库都是以 node 包的形式管理
  • npm、yarn、pnpm 工具
  • node.js 作为服务器,代理服务器
  • 借助 node.js 完成前后端的同构应用
  • 自身前端工程师为项目编写脚本工具
  • electron 桌面应用程序

Node 安装

  • LTS 版本(稳定)
  • Current 版本(最新)

Node 版本工具 n/nvm

Node 输入、输出

  • process.argv 为进城的全局对象,可以获取参数

Node —— REPL

  • 交互式编程:node 直接回车

Node 常见的全局对象

  • global(类似浏览器的 window 对象,区别:var 变量不会加在 global 里)
  • module(特殊的全局对象:模块中的)
  • exports(特殊的全局对象:模块中的)
  • require(特殊的全局对象:模块中的)
  • _ _ dirname:文件目录结构(特殊的全局对象:模块中的)
  • _ _ filename:文件目录结构 + 文件名(特殊的全局对象:模块中的)
  • buffer
  • process:进程信息(nextTick)
  • setTimediate
  • setInterval
  • setTimeout

全局对象 globalThis

node 全局对象 与 浏览器全局对象的区别?

  • 浏览器中,全局变量都在 window 上,比如:document、setTimeout、alert、console等
    • 在浏览器中执行 js 代码,在顶部通过 var 定义属性,会加到 window 对象上
  • 在 Node 中有 global 属性
    • node 中 var 定义变量只是在当前模块中有变量,不会放到全局中

setTimediate 与 nextTick