iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0

NPM(Node Package Manager)是 Node.js 的套件管理工具
同時也是全球最大的 JavaScript 套件倉庫。

  • 管理套件:下載、安裝、更新、移除專案所需的套件。
  • 套件倉庫:不只可以下載別人寫好的套件,也能把自己寫的套件上傳分享。
    • 安裝 Node.js 的時候,NPM 就會一併安裝。
      可以用以下指令確認版本:
      npm -v
      

建立專案與初始化

  1. 建立資料夾並進入:

    mkdir demo-project
    cd demo-project
    
  2. 初始化 package.json

    npm init
    

    在這個過程中會詢問一些設定:

    • name:專案名稱(預設是資料夾名稱,未來安裝時就是用這個名字)。
    • description:專案描述。
    • entry point:專案進入點(例如 index.js)。
    • test command:測試指令。
    • git repository:版本控管位置。
    • keywords:專案關鍵字。
    • author:作者資訊,格式為 name <email>
    • license:版權資訊(若採用開源 license,通常需依規定繼續開源)。

套件安裝與分類

安裝套件的方式如下:

npm install <pkg> --save       # 安裝到 dependencies
npm install <pkg> --save-dev   # 安裝到 devDependencies
npm i <pkg>                    # 簡寫
  • dependencies:專案正式執行時需要的套件,會部署到生產環境。
  • devDependencies:只在開發過程使用,例如測試、編譯工具。

關於 -save

  • 在 NPM v5 之後,-save 已經是預設值。
  • 因此只要輸入 npm install <pkg>,套件就會自動寫進 package.jsondependencies

node_modules 與 package.json

  • node_modules 會存放所有下載的套件,通常會被加到 .gitignore 裡。

  • 如果不小心刪掉 node_modules,可以輸入:

    rm -rf node_modules/
    npm install
    

    npm 會依照 package.json 內的 dependencies 自動重新下載所有套件。


NPM Script

除了管理套件,NPM 也能幫我們設定和執行常用的指令。

這些指令統一寫在 package.jsonscripts 區塊中。

範例:

"scripts": {
  "start": "node index.js",
  "test": "echo 123",
  "dev": "nodemon index.js",
  "build": "webpack --config webpack.config.js"
}

執行方式:

npm run <script-name>

範例:

npm run test     # 執行 echo 123
npm run dev      # 執行 nodemon index.js
npm run build    # 執行 webpack

其中有兩個特例:

  • npm start 可以省略 run,直接輸入即可。
  • npm test 也可以直接輸入,不需要加 run

參考資料


上一篇
Day9|CommonJS v.s. ES Module
下一篇
Day11|資料型別(Data Types)
系列文
程式小白的 30 天轉職挑戰14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言