今天在2017iT邦鐵人賽系列文章列表中發現有關Node.js的教學, 跟著走一遍後決定把學習過程記錄下來。
資料來源:https://ithelp.ithome.com.tw/users/20103526/ironman/1081 Node.JS - 30 天入門學習筆記 系列
前置動作:
1. setup Sublime Text (我裝的是Sublime Text3) https://www.sublimetext.com
2. setup Node.js (我用v8.11.3) https://nodejs.org/en/
* Node.js 三大類模組 *
Core Modules (原生模組)<http、url、querystring...>
Local Modules (自建模組)
Third Party Modules (第三方模組)
* Node Package Manager (NPM) *
用命令提示字元輸入 npm -v 確認有無安裝NPM
C:\> npm -v
若要更新npm 套件
C:\> npm install npm -g
查看npm指令如何使用
C:\> npm help
* 建立Node.js Web Server *
試run :
* 處理 Http Request *
* Node.js 檔案系統 *
* 非同步讀取檔案 *
fs.readFile(fileName [,options], callback)
-fileName: 檔案的完整路徑及檔名,格式字串。
-options: options 可能是一個物件或字串,包含"編碼"及"flag"。這裡預設的編碼是 utf8 , flag是 “r"。
-call back: 是帶兩個參數的function,err及file data,當我們執行readFile完成時, 要做的事, 例如: 回傳file data
創建一個測試文字檔:
試run:
* 同步讀取檔案 *
* 寫入檔案 *
fs.writeFile() 寫入檔案,如果檔案存在,會覆寫原本檔案資料;否則會自動新增檔案並寫入資料。
fs.writeFile(filename, data[, options], callback)
參數:
-fileName: 檔案的完整路徑及檔名,格式字串。
-data: 要寫入的檔案內容。
-options: options 可能是一個物件或字串,包含"編碼"及"flag"。這裡預設的編碼是 utf8 , flag是 “w"。
-call back: 只帶一個錯誤參數err的function,當我們執行writeFile完成時, 要做的事。例如: 寫入成功的訊息顯示;失敗時,丟出err。
*開啟檔案*
fs.open(path, flags[, mode], callback)
*開啟並讀取檔案*
fs.read(fd, buffer, offset, length, position, callback)
fs.read(fd, buffer, offset, length, position, callback)
參數:
- fd: 透過 fs.open() 方法返回的文件描述符。
- buffer: 數據寫入的緩衝區。
- offset: 緩衝區寫入的寫入偏移量。
- length: 要從文件中讀取的字元數。
- position: 文件讀取的起始位置,如果 position 的值為null,則會從當前文件游標的位置讀取。
- callback: 回呼函式,有三個參數err, bytesRead, buffer。
err 為錯誤訊息, bytesRead 表示讀取的字元數,buffer 為緩衝區對象。
*刪除檔案*
fs.unlink(path, callback);
參數:
- path: 檔案路徑。
- callback: 只帶一個錯誤參數err的function,當我們執行unlink完成時, 要做的事。例如: 刪除成功的訊息顯示;失敗時,丟出err。