node.js01 認識node.js

汝言發表於2020-07-17

Node.js(JavaScript,everywhere)

1.Node.js 介紹

1.1. 為什麼要學習Node.js

  • 企業需求
    + 具有服務端開發經驗更好
    + front-end
    + back-end
    + 全棧開發工程師(什麼都幹唄!!!)
    + 基本的網站開發能力
    * 服務端
    * 前端
    * 運維部署
    + 案例(多人社群)

  • 學習node.js的目的
    + 幫助大家開啟服務端這個黑盒子
    + 只有瞭解服務端,才能更好的配合服務端開發人員進行協同開發

1.2. 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

  • Node.js中的JavaScript
    + 沒有BOM/DOM
    + 服務端不處理頁面
    + 在Node這個JavaScript執行環境中為JavaScript提供了一些伺服器級別的操作API

1.3. Node.js能做什麼

  • Web 伺服器後臺

  • 命令列工具
    + npm(node)
    + 命令列工具
    + git(c語言)
    + hexo(node)
    + ...

  • 對於前端工程師來說,接觸node最多的是它的命令列工具
    + 自己寫的很少,主要是使用別人第三方的
    + webpack
    + gulp
    + npm

1.4. 預備知識

  • HTML

  • CSS

  • JavaScript

  • 簡單的命令列操作
    + cd
    + dir
    + ls
    + mkdir
    + rm

  • 具有服務端開發經驗更佳

1.5. 一些資源

  • 《深入淺出Node.js》
    + 偏理論,幾乎沒有什麼實戰性內容
    + 理解原理底層
    + 結合課程的學習來看

  • 《Node.js權威指南》
    + API講解
    + 沒有實戰

  • Node.js 入門

1.6. 這個階段課程能學到啥?

  • B/S 程式設計模型
    + Browser - Server
    + back-end
    + 任何服務端技術這種BS程式設計模型都是一樣,和語言無關
    + Node只是作為我們學習BS百年城模型的一個工具而已

  • 模組化程式設計
    + RequireJS
    + SeaJS
    + @import('檔案路徑')
    + 以前認知的JavaScript只能通過script標籤來載入
    + 在Node中可以像@import()一樣來引用載入JavaScript指令碼檔案

  • Node常用API

  • 非同步程式設計
    + 回撥函式
    + Promise
    + async
    + generator

  • Express Web開發框架

  • Ecmascript6

  • ... ...

  • 學習Node不僅會幫助大家開啟服務端黑盒子,同時會幫助你學習以後的前端高階內容
    + Vue.js
    + React
    + Angular