【Npm】使用教程

Npm(Node Package Manager)是一个JavaScript编程语言的包管理器,用于Node.js。它允许用户安装、共享和管理具有重复使用价值的代码,这些代码通常被称为"包"。以下是V哥整理的使用Npm的使用教程,收藏起来以备急用之需:

1. 基本操作部分

安装Node.js和Npm

  1. 访问Node.js官网下载安装包。
  2. 根据你的操作系统选择相应的安装程序并安装。
  3. 安装完成后,打开终端或命令提示符,输入node -vnpm -v来检查Node.js和Npm是否安装成功。

使用Npm安装包

  • 全局安装:安装包到全局,这样所有项目都可以使用。
bash 复制代码
  npm install -g package_name
  • 本地安装 :安装包到当前项目的node_modules目录,通常用于项目依赖。
bash 复制代码
  npm install package_name

管理项目依赖

  • 查看已安装的包
bash 复制代码
  npm list
  • 查看全局安装的包
bash 复制代码
  npm list -g

管理package.json

  • 初始化一个新的package.json文件
bash 复制代码
  npm init

这会引导你创建一个package.json文件,你可以按提示填写信息或直接按回车接受默认值。

  • 添加依赖到package.json
bash 复制代码
  npm install package_name --save

这会将包添加到dependencies中。

  • 添加开发时依赖到package.json
bash 复制代码
  npm install package_name --save-dev

这会将包添加到devDependencies中。

脚本

package.json文件中,你可以定义自定义脚本,然后在命令行中运行它们:

json 复制代码
"scripts": {
  "start": "node app.js",
  "test": "mocha **/*.test.js"
}

然后,你可以使用以下命令来运行这些脚本:

bash 复制代码
npm start
npm test

更新和卸载包

  • 更新包
bash 复制代码
  npm update package_name
  • 卸载包
bash 复制代码
  npm uninstall package_name

Npm配置

  • 查看Npm配置
bash 复制代码
  npm config list
  • 设置配置
bash 复制代码
  npm config set key value

其他常用命令

  • 查看Npm帮助文档
bash 复制代码
  npm help
  • 查看特定命令的帮助
bash 复制代码
  npm help command_name

2. Npm进阶使用

使用Npm脚本

Npm允许你在package.json文件中定义自定义脚本,这些脚本可以通过npm run命令执行。这可以简化你的开发流程,例如:

  • 自动化测试
  • 构建过程
  • 启动开发服务器

使用npm版本控制

Npm可以帮你管理项目的版本:

  • 更新到最新版本
bash 复制代码
  npm update
  • 更新到特定版本
bash 复制代码
  npm update package_name@version
  • 发布新版本
bash 复制代码
  npm version patch # 增加修订号
  npm version minor # 增加次版本号
  npm version major # 增加主版本号

使用npm忽略文件

.npmignore文件允许你指定Npm在打包时应该忽略哪些文件和目录。这类似于Git的.gitignore文件。

使用npm缓存

Npm使用缓存来提高安装速度。你可以查看、清理或配置缓存:

  • 查看缓存目录
bash 复制代码
  npm cache ls
  • 清理缓存
bash 复制代码
  npm cache clean

使用npm访问远程仓库

默认情况下,Npm使用npmjs.org作为包的注册表。但你可以通过配置使用其他远程仓库:

  • 设置默认的包注册表
bash 复制代码
  npm config set registry https://registry.npmjs.org/

使用npm审计安全性问题

Npm提供了一个安全审计工具来帮助识别和修复安全漏洞:

  • 运行安全审计
bash 复制代码
  npm audit

使用npm打包和发布

当你准备发布你的包时,你可以使用以下命令:

  • 打包你的项目
bash 复制代码
  npm pack
  • 发布你的包到npm仓库
bash 复制代码
  npm publish

使用npm访问和贡献开源项目

Npm也是与GitHub等代码托管服务集成的,你可以轻松地为开源项目贡献代码:

  • 查看项目的依赖
bash 复制代码
  npm view package_name dependencies
  • 查看项目的维护者
bash 复制代码
  npm owner ls package_name

使用npm配置代理

如果你在公司或学校网络后面,可能需要配置代理来使用npm:

  • 设置HTTP代理
bash 复制代码
  npm config set proxy http://proxyuser:proxypwd@proxy.server.com
  • 设置HTTPS代理
bash 复制代码
  npm config set https-proxy https://proxyuser:proxypwd@proxy.server.com

3. 高级特性

让我们继续深入了解一些Npm的高级特性和使用技巧:

使用Npm Workspaces

如果你的项目包含多个包或模块,可以使用Npm Workspaces来简化开发流程。这允许你在一个package.json文件中管理多个项目。

  • 初始化Workspaces
bash 复制代码
  npm init workspace
  • 添加Workspace
bash 复制代码
  npm workspace package-name add package

使用Npm CI

如果你在持续集成(CI)环境中使用Npm,npm ci命令可以提供更快的安装速度,并且只安装package-lock.jsonnpm-shrinkwrap.json中列出的依赖。

  • 使用CI安装依赖
bash 复制代码
  npm ci

使用Npm Outdated

要检查哪些包已经过时,可以使用npm outdated命令:

  • 列出所有过时的包
bash 复制代码
  npm outdated

如果你正在开发多个包,并且想要在它们之间共享代码,可以使用npm link来创建符号链接:

  • 创建全局符号链接
bash 复制代码
  npm link
  • 链接到其他包
bash 复制代码
  npm link package-name

使用Npm Deprecate

如果你需要弃用一个包,可以使用npm deprecate命令:

  • 弃用特定版本的包
bash 复制代码
  npm deprecate package_name@version "自定义弃用理由"

使用Npm Access

npm access命令可以用来管理包的访问权限:

  • 设置包的访问级别
bash 复制代码
  npm access public package_name
  npm access restricted package_name

使用Npm Team

如果你的组织有多个团队,可以使用npm team来管理团队的权限:

  • 列出团队成员
bash 复制代码
  npm team ls package_name:team_name
  • 添加成员到团队
bash 复制代码
  npm team add package_name:team_name user_name

使用Npm Org

如果你的项目属于一个组织,可以使用npm org来管理组织:

  • 列出组织成员
bash 复制代码
  npm org ls org_name

使用Npm Star和Want

Npm允许用户对包进行点赞(star)和想要(want),这可以帮助其他用户发现有用的包:

  • 点赞一个包
bash 复制代码
  npm star package_name
  • 取消点赞一个包
bash 复制代码
  npm unstar package_name

使用Npm完成命令

Npm提供了一个命令自动补全功能,可以通过以下命令安装:

  • 安装命令自动补全
bash 复制代码
  npm completion >> ~/.bashrc

这些高级特性和命令可以帮助你更有效地使用Npm,无论是在开发、测试、部署还是维护Node.js项目。随着你对Npm的进一步使用,你将能够发现更多有用的特性和命令。

4. 最后

以上是 Npm 命令的使用介绍,命令这玩意儿,用多了就熟,长时间不用就会忘了,再正常不过了,所以,收藏起来,用时再查。完事儿。

相关推荐
全栈前端老曹12 小时前
【包管理】npm init 项目名后底层发生了什么的完整逻辑
前端·javascript·npm·node.js·json·包管理·底层原理
全栈前端老曹1 天前
【包管理】read-pkg-up 快速上手教程 - 读取最近的 package.json 文件
前端·javascript·npm·node.js·json·nrm·package.json
2301_818732062 天前
安装了node,但是cmd找不到node和npm,idea项目也运行失败 已解决
前端·npm·node.js
Sapphire~3 天前
odoo-087 安装 npm (node ok npm not)
linux·运维·npm
Benny的老巢3 天前
【n8n工作流入门02】macOS安装n8n保姆级教程:Homebrew与npm两种方式详解
macos·npm·node.js·n8n·n8n工作流·homwbrew·n8n安装
2301_818732063 天前
下载nvm后,通过nvm无法下载node,有文件夹但是为空 全局cmd,查不到node和npm 已解决
前端·npm·node.js
稀饭523 天前
用changeset来管理你的npm包版本
前端·npm
就知道你是成心的3 天前
npm pack 一键构建npm离线包
npm
GuMoYu4 天前
npm link 测试本地依赖完整指南
前端·npm
爱写程序的小高4 天前
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
前端·npm·node.js