
npm (Node Package Manager) 是 Node.js 官方内置的包管理工具,是前端开发中必须掌握的工具。
1. npm 的安装
Node.js 在安装时会自动安装 npm。安装完成后,可以通过以下命令查看版本号,以测试是否安装成功:
BASH
npm -v如果显示版本号,则说明安装成功。
2.npm 基本使用
2.1. 初始化项目
在空目录下启动命令行工具,执行 npm init 命令,可以初始化一个项目。
BASH
npm init该命令会交互式地引导你创建一个 package.json 文件。package.json 是项目的配置文件,记录了项目的基本信息和依赖。
初始化注意事项:
包名 (name): 不能使用中文、大写字母,默认值为文件夹名称。
版本号 (version): 需遵循
x.x.x的格式,x 必须是数字,默认值为1.0.0。开源证书 (license):
ISC与MIT证书功能上基本相同。package.json文件可以手动创建和修改。使用
npm init -y或npm init --yes可以跳过交互,使用默认配置极速创建package.json文件。
package.json 示例:
BASH
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}2.2. 搜索包
可以通过两种方式搜索包:
命令行搜索:
npm search <关键字>网站搜索: 访问 npm 官网 进行搜索。
2.3 下载安装包
使用 npm install 或其简写 npm i 命令来安装包。
BASH
# 格式
npm install <包名>
npm i <包名>
# 示例
npm install uniq
npm i uniq安装后,目录下会新增:
node_modules 文件夹: 存放下载的包。
package-lock.json 文件: 包的锁文件,用于锁定包的版本,确保在不同环境下安装的依赖版本一致。
被安装的包被称为当前项目的依赖包(或简称依赖)。
2.4 require 导入 npm 包流程
当使用 require() 导入一个包时,Node.js 会按以下顺序查找:
在当前文件夹下的
node_modules中寻找同名文件夹。如果没找到,则去上级目录的
node_modules中寻找,直至找到磁盘根目录。
3 生产环境与开发环境
开发环境: 程序员专门用来写代码的环境,通常是自己的电脑。
生产环境: 项目代码正式运行的环境,通常是正式的服务器。
4. 生产依赖与开发依赖
依赖可以根据其使用场景分为两类:
类型 | 命令 | 说明 |
|---|---|---|
生产依赖 |
|
|
| ||
开发依赖 |
|
|
|
举例说明:
做蛋炒饭需要大米、油、葱、鸡蛋、锅、煤气、铲子。
生产依赖: 大米、油、葱、鸡蛋(制作和最终食用都会用到)。
开发依赖: 锅、煤气、铲子(只在制作阶段使用)。
5. 全局安装
使用 -g 选项可以进行全局安装。
BASH
npm i -g nodemon全局安装后,可以在命令行的任何位置运行该命令(如 nodemon),不受工作目录影响。
可以通过
npm root -g查看全局安装包的位置。并非所有包都适合全局安装,通常只有全局工具类包才需要。
5.1. 修改 Windows 执行策略
在 Windows 的 PowerShell 中运行全局安装的 npm 脚本时,可能会遇到 禁止运行脚本 的安全错误。需要修改执行策略:
以管理员身份打开 PowerShell。
键入命令
set-ExecutionPolicy remoteSigned。键入
A(是) 然后敲回车确认更改。如果仍不生效,可以尝试重启 VS Code。
5.2. 环境变量 Path
Path 是操作系统的一个环境变量,用于存储可执行文件的路径。当在当前目录找不到命令时,系统会在 Path 变量列出的目录中查找。
补充说明: 如果希望某个程序在任何目录下都能运行,应将其所在目录配置到
Path环境变量中。Windows 下查找命令位置:
cmd 命令行:
where <命令名>PowerShell 命令行:
get-command <命令名>
6. 安装项目依赖
在项目协作中,node_modules 文件夹通常不会被提交到版本库。其他协作者可以通过以下命令,根据 package.json 和 package-lock.json 文件自动安装所有依赖:
BASH
npm i
# 或
npm install7. 安装指定版本的包
如果项目需要特定版本的包,可以使用以下命令:
BASH
# 格式
npm i <包名@版本号>
# 示例
npm i jquery@1.11.28. 删除依赖
可以使用以下命令删除不需要的包:
BASH
# 局部删除
npm remove <包名>
npm r <包名>
# 全局删除
npm remove -g <包名>9. 配置命令别名
可以在 package.json 的 scripts 属性中配置命令别名,以简化常用命令的执行。
BASH
{
"scripts": {
"server": "node server.js",
"start": "node index.js"
}
}配置完成后,可以使用以下命令执行:
BASH
npm run server
npm run start补充说明:
npm start是一个特殊的别名,执行时可以省略run,直接使用npm start。它通常用于启动项目。npm run命令具有向上级目录查找的特性,与require函数类似。对于一个陌生的项目,可以通过查看
scripts属性来了解项目的一些常用操作
配置 npm 淘宝镜像
由于网络原因,直接使用 npm 官方源下载包的速度可能较慢。将 npm 的源配置为国内的淘宝镜像,可以显著提升下载速度。
nrm (npm registry manager) 是一个专门用于管理 npm 源的工具,可以方便地在多个源之间进行切换。
1.安装nrm
首先需要全局安装 nrm 工具
BASH
npm install -g nrm2.查看可用源
安装完成后,可以使用 nrm ls 命令查看所有可用的源列表。当前正在使用的源前面会有一个箭头 -> 指示。
BASH
nrm ls输出示例:
BASH
npm ---- https://registry.npmjs.org/
yarn --- https://registry.yarnpkg.com/
tencent - https://mirrors.cloud.tencent.com/npm/
cnpm --- http://r.cnpmjs.org/
* taobao - https://registry.npmmirror.com/
npmMirror - https://skimdb.npmjs.com/registry/切换镜像源
使用 nrm use <源名称> 命令可以快速切换到指定的源。例如,切换到淘宝源:
BASH
nrm use taobao补充说明:
淘宝镜像是只读镜像,使用 nrm 方式进行配置,可以在需要上传时切换到官方镜像,灵活方便。



请登录后发表评论