这是问题的标题

Node 介绍

node-logo

为什么要学习 Node

  1. 打开服务端黑盒子
  2. 招聘需求:需要具有一定的服务端开发经验
  3. 如果纯粹的前端想要向高级前端发展,服务端就是瓶颈

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 很强大,而且也是前端进阶必备的一个节能。
  • 对 IO 操作比较频繁的操作
    • 文件读写
    • + 和数据库交互:网络数据IO
  • 实时通信
      + 聊天:微信、QQ、直播
已邀请:

要回复问题请先登录注册