【Node进阶之路】一. NodeJS入门

165 阅读1分钟

1.安装

官网

下载长期稳定版(LTS)

1699581272633.png

或者点击‘DOWNLOAD’,根据不同平台系统选择你需要的 Node.js 安装包

1699581638324.png

Node.js 历史版本下载地址:nodejs.org/dist/

安装包下载完成后,双击运行nodejs安装程序,安装完毕后,通过win+R查看node版本

D:\ASUS\Project>node -v
v16.6.1

出现版本信息证明node已经安装成功!

2.NodeJs初体验

那么如何使用node去运行javaScript代码呢?

打开VS CODE,新建一个js文件demo.js,输入一段代码,如下:

1699582304348.png

右键打开集成终端

1699582431067.png

输入node demo.js,回车

PS C:\Users\86187\Desktop\练习\js> node demo.js
hello node.js

3.NodeJS编码注意事项

  • Node.js中不能使用 BOM和DOM的API

首先来看一下浏览器中的JavaScript:

1699583162947.png

而Node.js中的JavaScipt跟浏览器不同

1699583184851.png

来看一个示例:

1699583337116.png

1699583402525.png

可以看出,在node中打印输出BOM对象window和DOM对象document,都显示未定义。不光是这两个,还有navigatorhistorylocationAjax等API都不能在node中使用。

  • NodeJS的顶级对象是global

打印global对象

PS C:\Users\86187\Desktop\练习\js> node demo.js
<ref *1> Object [global] {
  global: [Circular *1],
  clearInterval: [Function: clearInterval],
  clearTimeout: [Function: clearTimeout],
  setInterval: [Function: setInterval],
  setTimeout: [Function: setTimeout] {
    [Symbol(nodejs.util.promisify.custom)]: [Getter]
  },
  queueMicrotask: [Function: queueMicrotask],
  performance: Performance {
    nodeTiming: PerformanceNodeTiming {
      name: 'node',
      entryType: 'node',
      startTime: 0,
      duration: 37.90820002555847,
      nodeStart: 0.7523999810218811,
      v8Start: 2.6381999850273132,
      bootstrapComplete: 25.581499993801117,
      environment: 13.486500024795532,
      loopStart: -1,
      loopExit: -1,
      idleTime: 0
    },
    timeOrigin: 1699583883945.125
  },
  clearImmediate: [Function: clearImmediate],
  setImmediate: [Function: setImmediate] {
    [Symbol(nodejs.util.promisify.custom)]: [Getter]
  }
}

ES2020中引入了一个新的特性globalThis,也可以指向Node的顶级对象,global和globalThis都是指向同一个对象

1699584514823.png

小结

  1. Node.js中不能使用BOM和DOM的API,可以使用console和定时器API
  2. Node.js中的顶级对象为global,也可以使用globalThis访问顶级对象