Node.js 是什么
- Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
- Node.js 不是一门语言
- Node.js 不是库、不是框架
- Node.js 是一个 JavaScript 运行时环境
- 简单来讲就是 Node.js 可以解析和执行 JavaScript 代码
- 以前只有浏览器可以解析执行 JavaScript 代码
- 也就是说现在的 JavaScript 可以完全脱离浏览器来运行,一切都归功于:Node.js
- 浏览器中的 JavaScript
- EcmaScript
- 基本的语法
- if
- var
- function
- Object
- Array
- BOM
- DOM
- EcmaScript
- Node.js 中的 JavaScript
- 没有 BOM、DOM
- EcmaScript
- 在 Node 这个 JavaScript 执行环境中为 JavaScript 提供了一些服务器级别的操作 API
- 例如文件读写
- 网络服务的构建
- 网络通信
- HTTP 服务器
- …
- 构建在 Chrome 的 V8 引擎之上
- 代码只是具有特定格式的字符串而已
- 引擎可以认识它,引擎可以帮你去解析和执行
- Google Chrome 的 V8 引擎是目前公认的解析执行 JavaScript 代码最快的
- Node.js 的作者把 Google Chrome 重的 V8 引擎移植了出来,开发了一个独立的 JavaScript 运行时环境。
- Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
- event-driven 事件驱动
- non-blocking I/O model 非阻塞IO模型(异步)
- lightweight and efficient 轻量和高效
- 随着课程慢慢的学习你会明白什么是事件驱动、非阻塞 IO模型
- Node.js’ package ecosystem, npm(基于 Node.js 的包管理工具), is the largest ecosystem of open source libraries in the world.
- npm 是世界上最大的开源生态系统
- 绝大多数 JavaScript 相关的包都存放在了 npm上,这样做的目的是为了让开发人员更方便的去下载使用我
- npm install jquery
Node.js 能做什么
- Web 服务器后台
- 命令行工具
- npm(node)
- git(C 语言)
- hexo(node)
- …
- 游戏服务器
- 接口服务器
预备知识
- HTML
- CSS
- JavaScript
- 简单的命令行操作
- 具有服务器开发经验更佳
一些学习资源
- 《深入浅出 Node.js》
- 《Node.js 权威指南》
- JavaScript 标准参考教程(Alpha)
- Node 入门
- 官方 API 文档
- CNODE 社区
- CNODE-新手入门