四时宝库

程序员的知识宝库

NPM 包管理器简介(npm安装的包怎么用)

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

npm 简介

npm 是 Node.js 的标准包管理器
2022 年 9 月,npm 注册表中列出了超过 210 万个软件包,使其成为
地球上最大的单一语言代码存储库
它最初是下载和管理 Node.js 包的依赖项的一种方式,但此后它已成为前端 JavaScript 中使用的工具。

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

npmyarnpnpm 之间命令的区别

-

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>

例如:

"scripts": {
      "analyze": "source-map-explorer dist/static/js/main.*",
      "clean": "rm -rf dist",
      "start": "node scripts/start.js",
      "build:js": "node scripts/babel-js.js",
      "build": "node scripts/build.js",
      "zip": "node scripts/zip.js",
      "lint:fix": "eslint --fix --ext .js src",
      "precommit": "lint-staged",
      "test": "node scripts/test.js",
      "coverage": "npm run test --coverage"
 },


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

npm run start 
npm run clean
npm run build
......

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接