乐趣区

关于node.js:构建千万级高可用企业级Nodejs应用一起无mi

node.js 是什么?

download:https://www.sisuoit.com/2747….

复制下崽 ZY:https://www.sisuoit.com/2747.html

官网的话:

Node.js 是一个 基于 Chrome V8 引擎 的 JavaScript 运行环境。
Node.js 应用了一个 事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

初看这段话,每一个字都意识,然而组合在一起就有点懵了,可能就是因为其中的几个关键词(基于 Chrome V8 引 擎、事件驱动、非阻塞式 I/O)了,然而咱们一开始学习的话是不必立即就搞清楚这几个专业名词的意思。
Chrome 咱们都很相熟,日常开发根本都是用 Chrome 开发调试的,那么在 Node.js 里运行 JavaScript 和在 Chrome 里运行 JavaScript 有什么不同吗?

答案是在 Node.js 里写 JS 和在 Chrome 里写 JS,简直没有什么不一样。

那简直没有不一样就是还有一些不一样的,那不一样在哪里呢?

Node.js 没有浏览器的一些 API,如 document、window 等;
加了很多属于 Node.js 本身的 API,如 process、__dirname、__filename。

而对于开发者来说,Node.js:

在 Chrome 里写 JavaScript 是管制浏览器。
Node.js 能够让咱们用相似的形式,管制整个计算机。

Node.js 能用来做什么?

能够用来做 Web 服务开发

通过服务端渲染(SSR)能够优化搜索引擎和首屏加载速度
端端同构(前后端用同一套代码),能够大大降低开发成本和保护老本

构建工作流,应用 Node.js 做 JS 构建工具,是很保险的抉择。

因为构建工具不会永远不出问题,也不会永远满足需要

自定义模块,能够应用 Node.js 做简单的本地利用;而大型利用须要给使用者自定义模块的能力

Node.js 能够利用 JS 的灵活性提供内部扩大;
JS 宏大的开发者基数让他们的灵活性失去利用

应用 Node.js 的环境筹备
简略地理解了 Node.js 是什么和能用来做什么之后,咱们就开始来为开发 Node.js 做一些环境筹备吧!

Node.js 装置

首先开发 Node.js 那必定得有 Node.js 了,而 装置 Node.js 也比较简单,能够去 官网 间接下载安装稳固版本的 Node.js。

这里也举荐应用 nvm 来治理装置 Node.js 的版本,咱们平时可能因为我的项目须要用不到这么高的版本须要切换到低版本的时候就能够用到 nvm 了。比方我应用 nvm 装置 14.17.0 版本的 Node.js 就能够通过命令行执行:nvm install 14.17.0 来装置:

通过命令行:nvm ls 能够看到以后零碎装置的 Node.js 版本,像我这里就装置了四个版本,在应用的是 12.18.3 版本;
切换应用的版本也很简略,就是通过命令行:nvm use 对应版本号 即可,像想用 14.17.0 版本就是 nvm use 14.17.0。

能够应用命令行:node -v 来查看是否装置胜利,同时能够查看一下以后 npm:

装置完 Node.js 之后就来装置写代码的软件了,这里举荐的是应用 Visual Studio Code 也就是 VSCode 了,装置步骤就不具体介绍了。装置胜利后关上终端运行命令行试试:

Node.js 的运行形式
装置好开发环境之后就来写代码试试吧!新建一个 index.js 文件,从打印 hello world! 开始:
console.log(‘hello world!’)
复制代码
关上 VSCode 的终端,执行命令:node index.js,即可把 Node.js 运行起来:

它跟在 Chrome 的 Console 上间接打印运行是差不多的:

Node.js 的全局变量
Node 和 Chrome 的全局变量基本上是一样的,如 Date、Math、setTimeout、setInterval 等:

console.log(Date)
console.log(Math)

console.log(setTimeout)
console.log(setInterval)
复制代码

当然,也是有一些变量是和 Chrome 不一样的,比方 document、window 等

有一些变量是 Node.js 外面独有的,比方 process、__dirname、__filename 等:

console.log(__dirname)
console.log(__filename)
console.log(process)

复制代码

__dirname 是以后运行脚本所在位置
__filename 以后脚本目录所在位置
process 是过程对象,它记录了 Node.js 运行的一些信息,比方 Node 的 version(版本号)、platform(操作系统)、env(环境变量)、argv(用户敲击的过程,命令行会用到)等等。

总结

Node.js 是 运行在服务端的 JavaScript,让咱们相似应用 JavaScript 管制浏览器的形式管制 整个计算机。在 Node.js 里 写 JS 和在 Chrome 里写 JS,简直没有什么不一样的。
Node.js 能够用来 Web 服务开发;能够用来构建工作流;能够用来自定义模块扩大利用。
环境筹备须要 装置 Node.js 和 编码软件(VSCode),当然还有浏览器 Chrome;另外,举荐用 nvm 治理本地开发机器上的 node 版本。
Node.js 能够通过命令行 node index.js 把 index.js 文件运行起来。
而后学习了一些 Node.js 的全局变量,比方 process、__dirname、__filename 等,更多 Node.js 的全局变量能够

退出移动版