JavaScript
npm
module
本篇為 [JS102] 升級你的 JavaScript 技能:ES6 + npm + Jest 這門課程的學習筆記。如有錯誤歡迎指正!
在開發過程中,若將各種功能放在一起,程式間可能會互相影響甚至產生 bug,日後也不易進行維護。
因此,我們可以將不同功能視為一個模組(Module),例如:金流、登入、權限、會員等等,再用主程式將所有模組串接起來,透過模組化統一進行管理。
require()
:引入模組以引入 Node.js 提供的 os 這個模組為例:
module.export
:輸出模組module.exports = 任何資料型別(例如:數字、陣列、物件等)
double
函式為例:exports
輸出物件:exports.double = double
,把 exports
本身視為空物件,但這種方法比較少見:參考資料:
NPM 是 Node Package Manager 的簡稱。是用來管理 Node.js 套件的系統(Library),可以下載別人已經寫好的 Javascript 套件來使用。
也可使用由 Facebook 團隊開發的 Yarn,同樣能從 npm 安裝套件,優點是速度較快。
參考資料:[Day-5] 用Yarn取代npm加速開發
npm -v
:查看 npm 版本。通常在安裝 node.js 時就會一起安裝。
npm init
:協助建立 Node.js 專案的描述檔。也就是產生 package.json 這個檔案。
npm install left-pad
:以 npm 安裝 left-pad 這個套件為例。安裝同時會產生:
package-lock.json 檔案內容如下,可從 dependencies
得知專案使用的套件:
當安裝許多套件時,檔案會很大。若要將專案上傳到 GitHub 遠端,通常會忽略 node_modules 這個資料夾,也就是不需進行版本控制。
因為已經有 package.json 這個檔案,負責記錄該專案所安裝的套件。若從遠端下載專案時,只要再輸入 npm install
指令,就可安裝該專案所需套件。
package.json
檔案中,我們可在 scripts
區塊加入各種指令。
"key": "要執行的內容"
以如何運行 index.js
這個專案為例:
"start": "node index.js"
:代表以 start 為 key,輸入即可在 node 運行 index.js。
注意是使用雙引號。
npm run 'key'
在終端機輸入 npm run start
即可透過 key 來運行該指令: