1、什麼是 node.js?
① Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型。
② Node 是一個讓 JavaScript 執行在服務端的開發平臺,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的指令碼語言。
2、安裝 node.js
官網連結:
https://nodejs.org/zh-cn/
安裝完成在終端裡輸入 node -v
當出現對應的 node 版本號,即安裝成功。
下面執行 js 方法就是一貫通用的用 node 名字.js
3、全域性函式
全域性函式:簡單理解就是放在 js 中任何地方都能執行。像 setTimeout 和 console 就是全域性函式。
箭頭函式:又叫匿名函式,簡化函式的寫法。箭頭函式的好處:解決了this在function為undefined的問題。
4、回撥函式
有個比方說的很形象,有一家旅館提供叫醒服務,但是要求旅客自己決定叫醒的方法。可以是打客房電話,也可以是派服務員去敲門,睡得死怕耽誤事的,還可以要求往自己頭上澆盆水。這裡,“叫醒”這個行為是旅館提供的,相當於庫函式,但是叫醒的方式是由旅客決定並告訴旅館的,也就是回撥函式。而旅客告訴旅館怎麼叫醒自己的動作,也就是把回撥函式傳入庫函式的動作,稱為登記回撥函式。
5、匯出和匯入模組
① 匯入單個函式
為了讓Node.js的檔案可以相互呼叫,Node.js提供了一個簡單的模組系統。
app.js
以上例項中,程式碼 require('./count_module') 引入了當前目錄下的 count_module.js 檔案(./ 為當前目錄,node.js 預設字尾為 js)。
Node.js 提供了 exports 和 require 兩個物件,其中 exports 是模組公開的介面,require 用於從外部獲取一個模組的介面,即所獲取模組的 exports 物件。
在以上示例中,count_module.js 通過 exports 物件把 counter 作為模組的訪問介面,在 app.js 中通過 require('./count_module') 載入這個模組,然後就可以直接訪 問 count_module.js 中 exports 物件的成員函數了。
在終端執行 node app.js 輸出:
② 匯入多個函式
app.js
count_module.js
6、事件
7、檔案讀寫
9、web 伺服器
app.js
輸出:
網頁:
10、路由
① 入口檔案
app.js
② server_路由.js
11、路由重構程式碼
app.js
server_重構路由.js
router.js
handler.js