NodeJS 之 npm(NodeJS Package Manager)包管理工具
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
NodeJS 之 npmNodeJS Package Manager包管理工具
参考
项目 | 参考 |
---|---|
搜索引擎 | Bing |
哔哩哔哩 | 黑马程序员 |
描述
项目 | 描述 |
---|---|
操作系统 | Windows 10 专业版 |
NodeJS | 18.13.0 |
npm
npmNodeJS Package ManagerNodeJS 包管理器完全使用 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 中的相关内容。