Skip to content
本页目录

npm 常用命令相关

npm init 初始化项目

npm init 也可以直接初始化一个项目,可以直接看npm init 文档

npm 用法

sh
# 使用默认值初始化项目生成一个 package.json 文件
npm init [--force|-f|--yes|-y|--scope] (example: `npm init --yes` OR `npm init -y`)


# 使用指定的生成器生成文件
npm init <@scope> (same as `npx <@scope>/create`)
npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`)

# 🌰 使用 create-react-app 初始化项目
npm init react-app my-app
# OR
npm create react-app my-app

npm init <initializer>可用于设置新的或现有的 npm 包。

init 命令转化为相应的 npx 操作如下:

  • npm init foo -> npx create-foo
  • npm init @usr/foo -> npx @usr/create-foo
  • npm init @usr -> npx @usr/create
sh
# 运行
npm init vue@next
# 相当于
npx create-vue@next

npx

npm 从 5.2 版开始,增加了 npx 命令,具体可以查看阮一峰 npx 教程

避免全局安装模块

sh
# create-react-app这个模块是全局安装,npx 可以运行它,并且不进行全局安装。
npx create-react-app my-react-app

使用不同的 node 版本,某些场景下可以临时切换 node 版本,有时比 nvm 包管理方便些。

sh
npx node@14 -v
# v14.18.0

npx -p node@14 node -v
# v14.18.0

注意点

只要 npx 后面的模块无法在本地发现,就会下载同名模块。比如,本地没有安装 http-server 模块,下面的命令会自动下载该模块,在当前目录启动一个 Web 服务。

sh
# 启动本地静态服务
npx http-server

镜像相关

设置淘宝镜像

sh
npm config set registry https://registry.npmmirror.com
# yarn
yarn config set registry https://registry.npmmirror.com

查看镜像源地址

sh
npm config get registry
# yarn
yarn config get registry

安装包

sh
# 安装package.json所有依赖项
npm install
npm i

# 安装指定的依赖项
npm install package_name
npm i package_name

# 安装开发环境依赖
npm install --save-dev package_name
npm i -D package_name

发布包

发包之前,需要在npm 官网注册账号

sh
# 登录
npm login

# 发布项目
npm publish

# 增加一个修复版本号
npm version patch

# 增加一个小的版本号
npm version minor

# 将更新后的包发布到 npm 中
npm publish

其他命令

其他命令
sh
# 查看npm 版本
npm -v

# 查看当前目录下已安装的依赖项
npm list

# 查看npm帮助命令
npm help

# 更新指定包
npm update

# 卸载指定包
npm uninstall

# 查看配置信息
npm config list

# 查看远程npm上指定包的所有版本信息
npm info package_name

# 查看当前包的安装路径
npm root

# 查看本地安装的指定包及版本信息,没有显示empty
npm ls

npm pkg

sh
# 检索key 在package.json文件中定义的值
npm pkg get [<field>[.<subfield>]]

# 在package.json文件中设置一个值(key:<field>,value: <value>)
npm pkg set <field> = <value>[.<subfield>=<value>...]

# 在package.json文件中删除一个值(key:<field>)
npm pkg delete <field>[.<subfield>...]

示例:

sh
# 获取当前包名   "meix-notes"
npm pkg get name
# 获取scripts.dev的值   "vitepress dev docs --port=8732"
npm pkg get scripts.dev

修改 package.json 中的 scripts:

sh
# dev 命令  给scripts的dev设置一个值
npm pkg set scripts.dev="vitepress dev docs --port=8732"
# build 命令  给scripts的build设置一个值
npm pkg set scripts.build="vitepress build docs"

如有转载或 CV 的请标注本站原文地址