Node 介绍
为什么要学习 Node
- 打开服务端黑盒子
- 招聘需求:需要具有一定的服务端开发经验
- 如果纯粹的前端想要向高级前端发展,服务端就是瓶颈
Node 是什么
- 官网
- 维基百科
- 深入浅出Node.js(一):什么是Node.js
- Node.js 究竟是什么?
- Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
- NodeJS 是一个构建与 Chrome V8 引擎之上的一个 JavaScript 运行时环境
- Node 可以像浏览器一样去解析和执行 JavaScript 代码
- JavaScript 是一个动态脚本语言
- 预编译
- 再执行
- JavaScript 之前的解析和执行一直停留在浏览器环境
- 通过编译解析引擎:解析和执行 JavaScript 脚本代码
- Chrome V8 引擎是所有浏览器里面解析和执行 JS 代码最快的
- Node 作者做了一件事儿,把 Chrome 的 V8 引擎移植出来了
- 又基于 V8 引擎至上构建了一系列的 API
- 在 Node 中,没有界面,不再需要关心 HTML、CSS
- 只需要关注 JavaScript
- 和 DOM、Style 等没有任何关系了
- 纯粹的 JavaScript 代码:Ecmascript
- var
- function
- Object
- Date
- Math
- x window
- x document
- 文件操作
- 网络操作
- 让 JavaScript 代码具有了服务器编程能力
- Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
- 事件驱动
- 非阻塞IO模型:大量的异步编程接口
- 充满了类似于客户端中 ajax 一样的 API
- 异步:回调
- 跨平台
- 单线程
+ 轻量和高效
- Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
- npm 是世界上最大的开源库生态系统
- 在 npm 上发布的第三方包已经接近 35 万个之多
+ 包只能帮你解决某一个单一的问题,解决不了你的业务
特点
可以做什么
Node 说白了就是为 JavaScript 提供了服务端编程的能力(不处理UI)。
- Java、PHP、Python、.Net、Ruby 等 能做的 Node 都能做
- 网站开发,提供网站服务端
- 数据库交互
- 移动应用:后台
- 网络游戏:后台
- CLI(Command Line Interface) 程序:
- git
- gulp
- hexo
- Node 具有开发命令行工具的能力
- webpack 打包构建工具
- http-server 在终端中快速提供一个服务
* browser-sync 提供服务,提供浏览器自动刷新的能力
应用场景
虽然 Node 很强大,而且也是前端进阶必备的一个节能。
0 个回复