首頁 > web前端 > js教程 > npm 以及您需要了解的有關 package.json 的所有信息

npm 以及您需要了解的有關 package.json 的所有信息

Linda Hamilton
發布: 2024-11-28 00:57:12
原創
327 人瀏覽過

npm and everything you need to know about the package.json

什麼是 npm?

npm 是 NodeJS 的套件管理器。它也是地球上最大的單一語言程式碼儲存庫,也是用於在命令列上從儲存庫安裝和管理套件的工具。

什麼是包裹?

npm 註冊表由許多套件或程式庫組成,可以下載、安裝這些套件或程式庫並將其用作 NodeJS 專案中的依賴項。 npm 套件是發佈到 npm 註冊表的可重複使用程式碼段。它可以幫助開發人員透過合併功能來改善他們的工作流程,從而減少編寫冗餘或重複程式碼的需要。

如何在 NodeJS 專案中安裝套件?

透過使用 CLI 指令 npm install

  • npm install:此指令將安裝node_modules資料夾中package.json中提到的所有依賴項。
  • npm install :將套件安裝在目前專案目錄中(在 node_modules 資料夾內)。該包只能在該項目內存取。
  • npm install -g :在系統範圍內安裝軟體包,使其可以從電腦上的任何位置使用。
  • npm install @:安裝該套件的特定版本。
  • npm install ; --save-dev:安裝套件並將其放入 package.json 的 devDependencies 區塊中
  • npm install ; --no-save:安裝軟體包,但不將項目新增至 package.json 檔案相依性。
  • npm install ; --save-可選:安裝套件並將條目新增至 package.json 檔案的可選依賴項中
  • npm install ; --no-可選:這將阻止安裝可選依賴項。

什麼是package.json?

package.json 是 Node.js 專案中用於管理專案元資料、相依性和腳本的設定檔。它充當 NodeJS 專案的核心。

devDependency 和 peerDependency 之間有什麼區別?

devDependency:這些是僅在開發或測試期間需要的套件和庫。它們不包含在生產代碼中。

安裝:

npm install tslint --save-dev

peerDependency:這些是專案需要處理的依賴項,但它期望安裝套件的使用者提供依賴項。

"peerDependencies": {
  "graphql": ">=10.0.0"
}
登入後複製
登入後複製

上面的塊表示:

  • 該專案需要 graphql 套件才能運作。
  • 需要graphql套件的版本為10.0.0或更高。
  • 軟體包使用者必須自行安裝 GraphQL。

package.json 中的腳本

package.json中的scripts欄位定義了可以使用npm run 執行的命令。一些值得一提的腳本:

start:啟動應用程式的命令。

"peerDependencies": {
  "graphql": ">=10.0.0"
}
登入後複製
登入後複製

建造:用於生產建造。

"start": "node index.js"
登入後複製

測試:運行單元測試套件。

"build": "webpack --mode production"
登入後複製

dev:啟動開發伺服器。

"test": "nyc"
登入後複製

lint:執行 linter 以檢查程式碼品質。

"dev": "nodemon index.js"
登入後複製

clean:清理建置工件。

"lint": "tslint ."
登入後複製

compile:用於將原始碼轉換為不同的格式(例如,TypeScript 到 JavaScript)

"clean": "rm -rf dist"
登入後複製

publish:用於將包裝發佈到 npm 等註冊表。

"compile": "tsc"
登入後複製
  • Pre/Post Hooks:還有用於 preinstall、postinstall、prebuild、precompile、postpublish 等腳本的 pre/post hooks。

  • 自訂腳本:自訂腳本也可以編寫在 package.json 中,並且可以使用 npm run

  • 執行

以上是npm 以及您需要了解的有關 package.json 的所有信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板