npm軟件包管理器簡介

npm的快速指南,這是功能強大的包管理器,它是Node.js成功的關鍵。在2017年1月,據報導在npm註冊表中列出了超過350000個軟件包,這使其成為地球上最大的單一語言代碼存儲庫,並且您可以確定有(幾乎!)所有內容的軟件包。

npm簡介

npm是Node.js的標準軟件包管理器。

在2017年1月,據報導在npm註冊表中列出了超過350000個軟件包,這使其成為地球上最大的單一語言代碼存儲庫,並且您可以確定有(幾乎!)所有內容的軟件包。

它起初是一種下載和管理依賴項的方式Node.js軟件包,但此後它已成為前端中使用的工具JavaScript

有很多事情npm做。

是npm的替代方法。確保您也將其簽出。

安裝

npm是在安裝Node.js時安裝的。前往https://nodejs.org並安裝Node(如果尚未在系統上安裝它)。

如何使用npm

npm管理項目依賴項的下載。

安裝所有依賴項

如果一個項目有一個packages.json文件,通過運行

npm install

它將安裝項目所需的一切,node_modules文件夾,如果尚不存在,則創建它。

安裝單個軟件包

您還可以通過運行以下命令來安裝特定的軟件包

npm install <package-name>

通常,您會在此命令中看到更多標誌:

  • --save安裝並將條目添加到package.json文件依存關係(默認為npm 5)
  • --save-dev安裝並將條目添加到package.json文件devDependencies

區別主要在於devDependencies通常是開發工具,例如測試庫,而dependencies已與生產中的應用捆綁在一起。

更新包

通過運行,更新也變得很容易

npm update

npm will check all packages for a newer version that satisfies your versioning constraints.

You can specify a single package to update as well:

npm update <package-name>

Versioning

In addition to plain downloads, npm also manages versioning, so you can specify any specific version of a package, or require a version higher or lower than what you need.

Many times you’ll find that a library is only compatible with a major release of another library.

Or a bug in the latest release of a lib, still unfixed, is causing an issue.

Specifying an explicit version of a library also helps to keep everyone on the same exact version of a package, so that the whole team runs the same version until the package.json file is updated.

In all those cases, versioning helps a lot, and npm follows the semantic versioning (semver) standard.

Running Tasks

The package.json file supports a format for specifying command line tasks that can be run by using

npm run <task-name>

For example:

{
  "scripts": {
    "start-dev": "node lib/server-development",
    "start": "node lib/server-production"
  },
}

It’s very common to use this feature to run Webpack:

{
  "scripts": {
    "watch": "webpack --watch --progress --colors --config webpack.conf.js",
    "dev": "webpack --progress --colors --config webpack.conf.js",
    "prod": "NODE_ENV=production webpack -p --config webpack.conf.js",
  },
}

So instead of typing those long commands, which are easy to forget or mistype, you can run

$ npm run watch
$ npm run dev
$ npm run prod  

Download my free Node.js Handbook


More node tutorials: