Node.js简单介绍
简介
- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js环境与Chrome环境是否一样
结论:在 Node.js 里写 JS 和 在 Chrome 里写 JS,几乎没有不一样的。
区别:
- Node.js 没有游览器中的API,比如 document, window 等。
- Node.js 添加了需要自己的 Node.js API,比如文件系统API,进程API等。
也就是说,对于我们开发者而言,在 Chrome 中写 JS 是去控制游览器;而在 Node.js 中写 JS 是可以让你去控制整个计算机。
使用情景
Web 服务
腾讯视频首页加载就用到了 Node.js 服务端渲染。
服务端渲染可以帮助我们进行 搜索引擎优化 和 首屏加载速度优化;而且关于渲染页面即可以由前端渲染,也可以由后端渲染,为了保持前后端用同一种语言(前后端同构),使用 Node.js 就不失为一种好的选择。
上面描述的 Node.js 作用简述如下:
- 服务端渲染 = 搜索引擎优化 + 首屏速度优化
- Node.js = 服务端渲染 + 前后端同构
构建工作流
使用 Node.js 去构建工作流,可以帮助我们预处理前端各式各样的文件。
其中我们熟悉的工具,比如 Gulp, webpack, 这些工具使用 Node.js 帮助我们预处理前端文件,打包所有前端资源,这也是我们前端很重要的一个优化点,也就是让我们前端文件尽可能小,加速前端页面的加载。
为什么他们会使用 Node.js 工具去构建像 Gulp, webpack 这样的工作流。
在它们之前,或许会使用Java, Shell, Ruby等,当如果这些语言编写的构建工具出现问题,或者需要去进行拓展的时候,前端程序员或许很难进行正确的操作。
如果使用同前端语言的环境 Node.js 去做构建工具,则更容易上手,修改甚至拓展,因此是一种很保险的选择。