Node.js

Node.js 介绍

为什么要学Node.js

  • 企业需求
    • 具有服务端开发经验更好
    • 全栈开发工程师
      • front-end
      • back-end
    • 基本的网站开发能力
      • 服务端
      • 全段

Node.js是什么

  • 正确认识Node.js
    • Node.js不是一门语言
    • Node.js不是库、不是框架
    • Node.js是一个Javascript运行时环境
    • Node.js可以解析和执行Javascript代码
    • 现在的Javascript可以完全脱离浏览器来运行,一切都归功于:Node.js
  • 构建于Chrome的V8引擎之上
    • 代码只是具有特定格式的字符串而已
    • 引擎可以认识它,引擎可以帮你去解析和执行它
    • Google Chrome的V8引擎是目前公认解析执行Javascript代码最快的
    • Node.js的作者把Google Chrome中的V8引擎移植了出来,开发了一个独立的Javascript运行时环境。
  • 浏览器中的Javascript
    • EcmaScript
      • 基本的语法
      • if
      • var
      • function
      • Object
      • Array
    • DOM
    • BOM
  • Node.js中的Javascript
    • 没有BOM和DOM
    • 只有ECMAScript
    • 在Node这个Javascript执行环境中Javascript提供了一些服务器级别的操作的API
      • 文件读写
      • 网络服务的构建
      • 网络通信
      • http服务器等
  • Node.js的特性
    • event-driven时间驱动
    • non-blocking I/O model非阻塞IO模型(异步)
    • lightweight and efficient轻量和高效
  • npm
    • npm是世界上最大的开源库生态系统
    • 绝大多数Javascript想换的包都存放在了npm上,方便开发人员去下载使用

Node.js能做什么

  • Web服务器后台
  • 命令行工具
    • npm(node)
    • git(c语言)
    • hexo(node)
    • 等等
  • 对于前端开发工程师来讲,接触node最多的是它的命令行工具
    • 自己写的很少,主要是使用别人第三方的
    • webpack
    • gulp
    • npm