Node介绍

1. 相关概念

  • 什么是JavaScript前端

    • 一种遵照ECMAScript标准的脚本语言
    • 最初只能运行在浏览器端
  • 浏览器中的 JavaScript 能够作什么?node

    • 操做DOM:表单验证、动画
    • 数据交互:ajax
    • 一般所指的 JavaScript :BOM + DOM (W3C)+ ECMAScript
  • JavaScript 只能够运行在浏览器中吗?git

    • JavaScript 不单单能运行在浏览器中
    • JavaScript 还能够运行在服务器环境中,例如:nodegithub

    • JavaScript引擎ajax

浏览器 JavaScript引擎
Firefox SpiderMonkey
IE Chakra
Safari JavaScriptCore
Chrome V8
  • 客户端和服务器npm

    面向用户的一端就是客户端编程

    从数据角度来讲:客户端只负责界面交互,主动的发起 HTTP 请求,请求后台服务器,把数据渲染到界面。gulp

    服务器提供的 HTTP 服务,接收 客户端的 HTTP 请求,而后处理 HTTP 请求, 最后把要发送给客户端的响应数据经过网络发送给客户端。后端

2. 为何要学习Nodejs

  • 什么是 Node.js浏览器

    Node.js 是一种创建在Google Chrome's V8 引擎上的non-blocking(非阻塞),event-driven(基于事件的)I/O平台
    Node.js平台使用的开发语言是JavaScript,平台提供了操做系统底层的API,方便作服务器端编程,
    具体包括:文件操做、进程操做、通讯操做等系统模块,支持模块化的开发
    • Node.js官网:https://nodejs.org
    • Node.js 是一个构建与 Chrome 的 V8 JavaScript 引擎之上的一个 JavaScript 运行时环境
    • Node 能够用来解析和执行 JavaScript 代码(由于Node基于V8引擎)
    • Node 没法解析 DOM 和 BOM 等对象
    • Node 只关心数据部分,例如 读写文件,提供 Web 服务
    • Node 是 JavaScript 吗?

      Node 不是一种新的语言
      Node 是一个能够用来解析和执行 JavaScript 语言的一个环境或者说是一个平台
      Node 环境或者说平台 给 JavaScript 语言,提升了 一些 例如文件操做、网络操做等接口API
    • Node.js 的包管理系统 npm 是世界上最大的开源库生态系统

  • Node 的诞生历程

    • Node 的做者:Ryan Dahl
    • 2004年还在纽约读数学系博士
    • 2006年退学(世界那么大,我想去看看),生活所迫,选择了码农
    • 接项目、工做、旅行,两年以后,成为了高性能Web服务器的专家
    • 2009年5月,Ryan Dahl 在 github 上发布了最初的 Node 版本
    • 2010年末,Ryan Dahl 加入 Joyent 公司全职负责 Node 的发展
    • 2011年7月,Node 在微软的支持下发布了 Windows 版
    • 2012年1月底,Ryan Dahl 将掌门人身份转交给了 Isaac Z.Schlueter,本身转向一些研究项目
    • 2014年12月,多位重量级Node开发者不满 Joyent 对 Node 的管理,自立门户建立了 io.js
    • 2015年9月,Node 与 io.js 合并,Node 的版本从 0.12.7 直接升级到了 4.0.0
    • 合并后的 io.js 和 Node 在 Joyent 公司的维护下并行了两个版本:
      • 一个是4.x.x 仍是原来的 Node,这个版本是稳定版
      • 一个是5.x.x,目前已经更新到了 6.6.0,其实就是 io,最新特性版,不建议生产环境使用
  • Node的特色
    • 事件驱动
    • 异步IO模型
    • 跨平台
  • 为何要学习 Node
    • Node 打破了过去 JavaScript 只能在浏览器中运行的局面
    • 先后端编程环境统一,大大下降了先后端语言切换的代价
    • 全栈开发工程师
      • 后端开发工程师
      • 前端开发工程师
      • 移动端开发工程师
  • 使用 Node 能够作什么
    • 高性能的网站服务器
    • 简单易用的命名行应用程序
      • i5ting、gulp、less
    • 实时多人游戏后台服务器
    • 高大上的桌面应用程序
      • 使用 Web 技术 做为解决方案
    • 底层的物联网开发
    • 移动开发
      • Ionic --> 安卓 IOS
      • 使用 Web 技术做为解决方案

3. 安装Node.js

  • 两种安装方式
    • 直接下载Nodejs的安装包
    • 使用NVM安装,能够切换Nodejs的版本
      • NVM安装不一样版本的Node
        nvm install 6.5.0
      • 查看如今可用的Node版本 nvm list
      • 切换Node版本 nvm use 6.6.0 32/64
  • 查看Node是否安装成功/查看Node的当前版本 node -v

  • 切换源 国内 https://registry.npm.taobao.org 国外 http://registry.npmjs.org/

    切换 npm config set registry https://registry.npm.taobao.org 配置后可经过下面方式来验证是否成功 npm config get registry

4. 学习Node.js的网站

相关文章
相关标签/搜索