- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - 包管理器 (NPM)
NPM - Node Package Manager的首字母缩写,是指命令行实用程序,用于安装Node.js包,执行版本管理和Node.js包的依赖性管理。它还为node.js包/模块提供了一个在线存储库,这些包/模块可以在 https://www.npmjs.com/ 上搜索。此链接上还提供了 NPM 命令的详细文档。
如果您使用的是较新版本的 Node.js(版本 0.6.0 或更高版本),则 NPM 实用程序包含在所有操作系统平台捆绑包的Node.js二进制文件中。在命令终端中检查NPM的版本 -
PS C:\Users\mlath> npm -v
10.1.0
如果您有旧版本的 NPM,则需要使用以下命令将其更新到最新版本。
请注意,YARN 和 PNPM 工具也可用作 NPM 的替代方案。YARN 可以更快地安装包,并在计算机之间或在安全的离线环境中一致地管理依赖项。PNPM(高性能 NPM)是另一个用于Node.js包的快速且磁盘空间高效的包管理器。
如果您的 Node.js 应用程序依赖于一个或多个外部包,则必须从 NPM 存储库安装它们。NPM 包以两种模式安装:本地或全局。默认情况下,包在本地安装。
在本地安装包
有一个简单的语法来安装任何Node.js模块 -
例如,以下是安装一个名为 express 的著名 Node.js Web 框架模块的命令 -
现在你可以在你的js文件中使用这个模块,如下所示 -
var express = require('express');
包的本地模式安装是指在位于 Node 应用程序所在的文件夹中的目录中node_modules包安装。本地部署的包可以通过 require() 方法访问。在 install 命令的末尾使用 --save 将依赖项条目添加到应用程序的package.json中。
package.json文件是一个 JSON 文件,用于管理Node.js项目中的依赖项。它包含有关项目的信息,例如其名称、版本和依赖项。npm 包管理器使用 package.json 文件来安装和管理依赖项。
package.json文件通常位于 Node.js 项目的根目录中。可以通过运行 npm init 命令来创建它。
为新的Node.js项目创建一个新文件夹,并在其中运行 pnm init 命令 -
PS D:\nodejs\newnodeapp> npm init
此实用程序将指导您创建package.json文件。
It only covers the most common items, and tries to guess sensible defaults.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (newnodeapp) newnodeapp
version: (1.0.0)
description: Test Node.js App
entry point: (index.js)
test command:
git repository:
keywords: test, nodejs
author: mvl
license: (ISC)
即将写入 D:\nodejs\NewNodeApp\package.json -
{
"name": "newnodeapp",
"version": "1.0.0",
"description": "Test Node.js App",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"test",
"nodejs"
],
"author": "mvl",
"license": "ISC"
}
现在,如果我们在这个项目中将 express 包本地安装到这个包中,使用以下命令,它也会在package.json中添加依赖项。
此文件夹中的package.json文件将更新为 -
{
"name": "newnodeapp",
"version": "1.0.0",
"description": "Test Node.js App",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"test",
"nodejs"
],
"author": "mvl",
"license": "ISC",
"dependencies": {
"express": "^4.18.2"
}
}
快速包裹代码将被放置在包裹文件夹的 node_modules 子文件夹中。
如果您已经将所有项目依赖项放在 package.json 文件中,则只需运行 npm install(前面没有任何包名称)即可立即安装所有依赖项
您还可以在 npm install 命令中使用 -save-dev 标志将包添加为 DevDepndency。
- --save-dev 安装该条目并将其添加到package.json文件 devDependencies
- --no-save 会安装但不会将条目添加到package.json文件依赖项中
- --save-optional 安装并将条目添加到package.json文件 optionalDependencies
- --no-optional 将阻止安装可选依赖项
也可以使用标志的简写 -
- -S: --save
- -D:--save-dev
- -O:--save-optional
devDependencies 和 dependencies 的区别在于,前者包含开发工具,如测试库,而后者则与生产中的应用程序捆绑在一起。
全局安装软件包
全局安装的包/依赖项存储在系统目录中。这种依赖可以在任何node.js的 CLI(命令行界面)功能中使用,但不能直接在 Node 应用程序中使用 require() 导入。现在,让我们尝试使用全局安装来安装 express 模块。
这将产生类似的结果,但模块将在全球范围内安装。在 Linux 上,全局包放在 /usr/lib/node_modules 文件夹中,而对于 Windows,路径是 C:\Users\your-username\AppData\Roaming\npm\node_modules。
更新包
若要更新Node.js项目中本地安装的包,请在项目项目文件夹中打开命令提示符或终端,并编写以下更新命令。
以下命令会将现有的 ExpressJS 模块更新到最新版本。
PS D:\nodejs\newnodeapp> npm update express
up to date, audited 63 packages in 2s
11 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
卸载软件包
若要从项目的依赖项中卸载包,请使用以下命令从项目中删除本地包。
以下命令将从应用程序中卸载 ExpressJS。
PS D:\nodejs\newnodeapp> npm uninstall express
removed 62 packages, and audited 1 package in 603ms
found 0 vulnerabilities
包条目也将从package.json文件的依赖项列表中删除。