NodeJS 之 npm(NodeJS Package Manager)包管理工具

导读:本篇文章讲解 NodeJS 之 npm(NodeJS Package Manager)包管理工具,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

参考

项目 参考
搜索引擎 Bing
哔哩哔哩 黑马程序员

描述

项目 描述
操作系统 Windows 10 专业版
NodeJS 18.13.0

npm

npm(NodeJS Package Manager,NodeJS 包管理器)完全使用 JavaScript 编写而成,你可以通过该工具下载并安装 npm 服务器中存在的 NodeJS 第三方模块。当然,你也可以通过 npm 将自定义模块上传至 npm 服务器中,供他人下载。
npm 提供了一个名为registry 的查询服务,用户可通过本地的 npm 命令下载并安装指定模块。此外用户也可以通过npm把自己设计的模块分发到registry上面。npm 的 registry 没有审核机制,因此会存在一些低质量、不安全甚至有害的模块,然而 npm 服务器的管理员也可以删除有害模块并阻止不怀好意的用户。
如果一个项目中存在 package.json 文件,那么用户可以直接使用 npm install 命令自动安装和维护当前项目所需的所有模块。在 package.json 文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化导致项目出现问题。当然,开发者也可以选择将模块固定在某个版本之上。


上述内容整理自 维基百科

获取

NodeJS 在进行安装时默认会添加 npm,如果你未在 NodeJS 对该项设置进行修改,那么你已经成功安装了 npm。如果你不清楚是否安装了 npm,可在终端中输入如下命令,以在查看 npm 版本信息的同时检测计算机是否安装了 npm 包管理工具。

npm -v

或:

npm --version

如果你没有安装过 NodeJS,那么你可以前往 NodeJS 官网来对 NodeJS 进行安装(推荐安装长期维护版)。

准备工作

更换安装源

由于墙的存在,部分包(NodeJS 中的第三方模块)的安装可能会十分缓慢甚至无法安装,我们可以通过将 npm 当前的安装源更换为国内的镜像源来解决这一问题。

使用如下命令更换 npm 安装源为淘宝提供的 npm 镜像源:

npm config set registry https://registry.npm.taobao.org/

或:

npm set registry https://registry.npm.taobao.org/

使用如下命令查看当前使用的 npm 安装源:

npm config get registry

或:

npm get registry

package.json

在当前 NodeJS 项目下你需要使用如下命令初始化 npm 以获得项目描述文件 package.json

npm init

使用上述命令后,你需要填写项目的相关信息。如果你需要在以后对这些信息进行填写,你可以使用如下命令。使用该命令后 npm 将自动获取项目的信息,但部分信息仍需要你的补充。

npm init -y

使用该命令得到的 package.json 文件大致如此:

{
  "name": "demo",  
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}
功能
  1. package.json 会记录项目中所使用到的模块,在将项目文件转移到其他计算机后,你可以通过 npm install 来一键安装 package.json 所描述的包。

  2. 安装的模块所占据的存储空间可能很大,这不便于项目文件的转移。但因为有了 package.json 文件,我们可以将项目文件中已安装的模块删除后再进行转移。再转移后通过 npm install 来一键安装 package.json 所描述的包。

使用

获取

如果你希望查询某个包的信息可以通过访问 npmjs.com 对这个包进行查询。

你可以通过使用命令来安装位于 npm 服务器中的第三方模块,下面我将演示如何在终端中使用命令来安装第三方模块 webpack

npm install webpack

或:

npm i webpack

注:

安装的包将存放在项目文件下的 node_modules 文件夹中。

方式
全局安装

使用该方式进行第三方模块的安装,该模块将能够在不同的项目中使用。通过如下命令以全局安装的方式对第三方模块进行安装,这里我将以安装 webpack 来进行演示:

npm install -g webpack

或:

npm install --global webpack
局部安装(开发)

使用该方式进行第三方模块的安装,该模块将仅能够在当前项目中使用。通过如下命令以局部安装(开发)的方式对第三方模块进行安装,这里我将以安装 webpack 来进行演示:

npm install webpack

或:

npm install --save webpack

或:

npm install -S webpack

注:

在进行局部安装(开发)后,被安装的第三方模块的信息将被记录到 package.json 文件的 dependences 节点下,该节点中的定义了项目在开发阶段所使用到的包。

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^5.75.0"
  }
}
局部安装(部署)

使用该方式进行第三方模块的安装,该模块将仅能够在当前项目中使用。通过如下命令以局部安装(部署)的方式对第三方模块进行安装,这里我将以安装 webpack 来进行演示:

npm install -D webpack

或:

npm install --save-dev webpack

注:

在进行局部安装(部署)后,被安装的第三方模块的信息将被记录到 package.json 文件的 devDependences 节点下,该节点中的定义了项目在部署阶段(项目上线)所使用到的包。

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^5.75.0"
  }
}
多包安装

你可以执行一次 npm 命令来安装一个包,也可以仅执行一次 npm 命令来安装多个包。

在下面的演示中,我将以全局安装的方式一次型安装 jquery、webpack-cli 共两个包:

npm install -g jquery webpack-cli

卸载

你可以通过如下命令来卸载以全局安装的模式安装的第三方模块:

npm uninstall -g webpack

你也可以通过为 npm uninstall 命令添加 -S-D 等模式安装的第三方模块。
当然你也可以像多包安装那般实现多包删除。

注:

请不要手动删除已安装在 node_modules 中的第三方模块,手动删除模块并不会修改 package.json 中的相关内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84015.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!