为什么 学习node
1.企业需求
a.具有服务端开发经验更好
b. front - end
c. back - end
d. 全栈工程师
e. 基本的网站开发能力 -- 服务器 前端 运维部署
node 是什么 (web服务器开发)
目的: 帮助打开服务端黑盒子
javascript 编程 凡是能用js 来实现的,最终都会用js实现
1.nodeJS 不是一门语言
2. nodeJS 不是库 不是框架 是一个js 运行时环境 (平台)
3.nodeJS可以解析 和执行js 代码 以前只有浏览器可以执行js代码,现在的js 可以脱离 浏览器来运行 ,一切归功于nodeJS
浏览器中的javascript:
1.EcmaScript --语法 基本的语法
2. BOM
3. DOM
nodeJS中的JavaScript:
1. 没有BOM 、 DOM
2. EcmaScript
3.不处理页面 在node执行环境中为Js提供了一些服务器级别的操作 API
a. 文件读写
b.网络服务的构建
c.网络通信
d.http 服务器
e. 其他....
构建于Chorme的v8引擎之上
1.代码只是具有特定格式的字符串而已
2.引擎可以认识它,引擎可以帮你去解析和执行
3. google chorme 的v8引擎是目前工人的解析执行JavaScript 代码最快的
4.nodejs的作者把google chorme中的v8引擎移植出来,开发了一个独立的js 运行时环境。
特性:
1.event- driven 事件驱动
2.non-blocking I/O model 非阻塞IO模型 (异步)
3.lightweight and efficient 轻量和高效
npm 是世界上的最大的开源库生态系统 -- 是基于nodejs 开发的
node 能做什么
1.web 服务器后台
2.命令行工具 --> git(c语言开发) npm (node) hexo(node)