NPM 包管理器简介

简介: NPM 包管理器简介

npm 简介

npm 是 Node.js 的标准包管理器。

npm 的快速指南,强大的包管理器是 Node.js 成功的关键。2017 年 1 月,超过 350000 个软件包被报告在 npm 注册表中列出,使其成为地球上最大的单一语言代码存储库,您可以确定有一个包(几乎!)所有内容。

2022 年 9 月,npm 注册表中列出了超过 210 万个软件包,使其成为地球上最大的单一语言代码存储库。

它最初是下载和管理 Node.js 包的依赖项的一种方式,但此后它已成为前端 JavaScript 中使用的工具。

Yarn(https://yarnpkg.com/en/) 和 pnpm (https://pnpm.io/)是 npm cli 的替代品。您也可以它们官网查看它们。

npm、yarn 和 pnpm 之间命令的区别

-

npm

yarn

pnpm

install all

npm install

yarn

pnpm install

install

npm install [package]

yarn add [package]

pnpm add [package]

-D

npm install [package] -D

yarn add [package] -D

pnpm add -D [package]

-g

npm install [package] -g

yarn global add [paackage]

pnpm add -g [package]

uninstall

npm uninstall [package]

yarn remove [package]

pnpm remove [package]

update

npm update [package]

yarn upgrade [package]

pnpm update [package]

包(Packages)

npm 管理项目依赖项的下载。

1、安装所有依赖项

如果项目具有 package.json 文件,则通过运行

npm install

它将在node_modules文件夹中安装项目所需的所有内容,如果尚不存在,则创建它。

2、安装单个依赖

您还可以通过运行

npm install <package-name>

此外,从npm 5开始,此命令将<package-name>添加到package. json文件依赖项。在版本5之前,您需要添加标志--save。

您通常会看到更多标志添加到此命令中:

  • --save-dev 安装包并将其添加到package. json文件devDependents中
  • --no-save 安装但不将包添加到package. json文件依赖项
  • --save-optional 安装包并将其添加到package. json文件optionalDependents
  • --save-exact 表示安装的包的版本是精确指定的。
  • --save-bundle 表示将安装的包将写入packege.json里面的bundleDependencies。
  • --no-optional 可选将阻止安装可选依赖项,npm在找不到它或安装失败的情况下会继续进行

也可以使用标志的缩写:

  • -S: --save
  • -D: --save-dev
  • -O: --save-optional
  • -E: --save-exact
  • -B: --save-bundle

devDependencies和dependencies之间的区别在于,前者在开发中的依赖,如测试包之类,而后者与生产中的构建的时候,会和程序打包在一起。

至于optionalDependencies,不同之处在于依赖项的构建失败不会导致安装失败。但您的程序有责任处理缺少依赖性的问题。

更新包

通过运行

npm update

npm将检查所有包中是否有满足版本控制约束的新版本。

您也可以指定要更新的单个程序包:

npm update <package-name>

版本控制

指定库的显式版本也有助于让每个人都使用相同版本的包,这样整个团队就可以运行相同的版本,直到package.json文件更新为止。

在所有这些情况下,版本控制有很大帮助,而npm遵循语义版本控制(semver)标准。

您可以通过运行

npm install <package-name>@<version>

运行任务

package.json文件支持指定命令行任务的格式,可以使用

npm run <task-name>

例如:

1. "scripts": {
2. "analyze": "source-map-explorer dist/static/js/main.*",
3. "clean": "rm -rf dist",
4. "start": "node scripts/start.js",
5. "build:js": "node scripts/babel-js.js",
6. "build": "node scripts/build.js",
7. "zip": "node scripts/zip.js",
8. "lint:fix": "eslint --fix --ext .js src",
9. "precommit": "lint-staged",
10. "test": "node scripts/test.js",
11. "coverage": "npm run test --coverage"
12.  },

 

所以,你可以运行对应的命令,执行对应的任务。

1. npm run start 
2. npm run clean
3. npm run build
4. ......


相关文章
|
4月前
|
Web App开发 缓存 JavaScript
2020你需要一个自己的私有npm包管理器
2020你需要一个自己的私有npm包管理器
68 0
|
7月前
|
存储 缓存 资源调度
包管理npm、yarn、pnpm区别
包管理npm、yarn、pnpm区别
78 0
|
5天前
|
缓存 JavaScript 前端开发
深入剖析NPM: Node包管理器的介绍和使用指南
深入剖析NPM: Node包管理器的介绍和使用指南
10 0
|
14天前
|
JavaScript 前端开发 开发者
Node.js的包管理和npm工具深度解析
【4月更文挑战第30天】本文深入解析Node.js的包管理和npm工具。包管理促进代码复用和社区协作,包包含元数据描述文件`package.json`和入口文件。npm提供搜索、安装、发布等功能,通过命令行进行操作,如`install`、`search`、`uninstall`。npm支持版本控制、全局安装、脚本定义及私有仓库。理解和熟练运用npm能提升Node.js开发效率。
|
2月前
|
存储 缓存 资源调度
ES Module使用-原理-包管理工具npm(二)
ES Module使用-原理-包管理工具npm
70 0
|
2月前
|
JSON 资源调度 JavaScript
ES Module使用-原理-包管理工具npm(一)
ES Module使用-原理-包管理工具npm
75 0
ES Module使用-原理-包管理工具npm(一)
|
5月前
|
JavaScript 前端开发 开发工具
npm 包和模块简介
npm 包和模块简介
|
7月前
|
JavaScript 前端开发
npm 工具库 yenv 简介
npm 工具库 yenv 简介
41 0
|
8月前
|
存储 缓存 资源调度
[Node] Node.js 包管理工具详解npm yarn cnpm npx pnpm
[Node] Node.js 包管理工具详解npm yarn cnpm npx pnpm
|
11月前
|
缓存 资源调度 前端开发
前端包管理工具 npm yarn cnpm npx(三)
前端包管理工具 npm yarn cnpm npx
132 0

推荐镜像

更多