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的網站

相關文章
相關標籤/搜索