NodeJS 之 npm(NodeJS Package Manager)包管理工具
参考
项目 | 参考 |
---|---|
搜索引擎 | 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"
}
功能
-
package.json 会记录项目中所使用到的模块,在将项目文件转移到其他计算机后,你可以通过 npm install 来一键安装 package.json 所描述的包。
-
安装的模块所占据的存储空间可能很大,这不便于项目文件的转移。但因为有了 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