接触Node.js

Node.js —— 第一次接触 Web服务器

1.简单介绍:
Node.js是构建在 Chrome 的 V8 引擎之上,代码只是特定格式的字符串而已,而引擎可以认识代码,并帮你去解析和执行它。Node.js的作者把Google Chrome 中的 V8 引擎移植出来,开发了一个独立的JavaScript运行环境。注:Google Chrome V8 引擎是目前世界公认的解析执行JavaScript代码最快的引擎
什么是 node.js (官网): https://nodejs.org/en/;
1.1 它不是一门语言
1.2 它不是库、不是框架
1.3 它是一个 JavaScript 运行时的环境,简单来说node.js可以解析和执行 javaScript 代码
1.4 以前只有浏览器可以解析执行javaScript 代码,意味着现在JavaScript完全脱离浏览器来运行,一切都归功于 Node.js
1.5 浏览器中的JavaScript:
1.5.1 EcmaScript 只包含: 基本语法(if,var,function,Object,Array)
1.5.2 BOM
1.5.3 DOM
1.6 Node.js中的JavaScript:
1.6.1 EcmaScript:没有 DOM、BOM , 因为服务端不处理DOM
1.6.2 在Ndoe这个JavaScript执行环境中为JavaScript提供了一些服务器级别的操作 API : 例如 文件的读写、网络服务的构建、网络通信、HTTP服务器等等的处理。
1.7 Node.js的特性: 事件驱动 和 非阻塞IO模型。
1.8 npm(Node.js包)时世界上最大的开源库生态系统,绝大多数JavaScript相关包都存放在 npm 上,这样做的目的就是为方便让开发人员更方便的去下载使用。( npm install jquery )

2.为什么要学node.js:
– 企业需求 :
具有服务端开发经验更好
+ front-end ( 前 端 )
+ back-end ( 后 端 )
+ 全栈开发工程师 (“前后端的工作一个人全干了”)
+ 基本的网站开发能力:
* 服务端
* 前端
* 运维部署

3.Node.js能干什么:
3.1 帮助我们打开服务器这个黑盒子
3.2 做Web 服务器后台 ( 游戏服务器、接口服务器 等等 )
3.3 开发命令行工具:
3.3.1 npm ( node )
3.3.2 git ( c语言 )
3.3.3 hexo ( node )
. . . . . . . . .
4. 对于前端工程师来说,接触 node 最多的是它的命令行工具
自己写的很少,主要是使用第三方的,例如:webpack gulb npm 等等

注:不是只有Node能打开服务端黑盒子,还有其他很多,例如:1.JAVA 2.PHP 3.Pyton 4.Ruby 5. .Net (dotNet – 语言为 C#) … 6. node.js(语言为 javaScript)

接触Node.js
通过 Node.js 能学到的内容:

  1. B / S 编程模型:
    · Browser-Server
    · back-end
    · 任何服务端技术这种 BS 编程模型都是一样的,和语言五无关
    · Node 只是作为我们学习BS编程模型的一个工具而已
  2. 模块化编程:
    · RequireJS
    · SeaJS
    · @import( ‘ 文件路径 ’ )---- 文件之间能相互引用
    · 在Node 中可以像@import()一样来引用加载JavaScript脚本文件
  3. Node常用的 API
  4. 异步编程:
    · 回调函数
    · Promise
    · async
    · generator
  5. Express Web 开发框架
  6. Ecmascript 6 ---- 是一个新语法

学习Node不仅会帮助我们打开服务器端的黑盒子,同时也会帮助到我们以后学习的 前端高级内容:
* Vue.JS
* React
* angular