【npm】npm命令大全

掌握 NPM:前端与 Node.js 开发者必备命令大全

NPM (Node Package Manager) 无疑是现代 JavaScript 开发的基石。无论是前端项目还是 Node.js 后端服务,NPM 都扮演着管理依赖、执行脚本、发布模块等关键角色。熟悉并熟练使用 NPM 命令,能够极大提高我们的开发效率。

本文将带你深入了解 NPM 的常用命令,从基础操作到高级技巧,助你成为 NPM 的使用高手!

快速获取帮助:

在深入学习之前,请记住两个获取帮助的万能命令:

  • 查看所有命令概览:npm helpnpm -l
  • 查看特定命令的详细用法:npm <命令名称> --help (例如: npm install --help)

核心利器:日常开发必备命令

这些命令构成了我们日常 NPM 操作的核心,是你每天都会打交道的"老朋友"。

npm install (或 npm i):安装依赖的魔术棒

这是 NPM 最核心的命令,用于下载并安装项目所需的各种模块。

  • 安装项目所有依赖 (基于 package.json):

    bash 复制代码
    npm install

    当拿到一个新项目或 package.json 文件更新后,首先运行它。

  • 安装特定模块 (并自动添加到 dependencies):

    bash 复制代码
    npm install <模块名>
    # 例如: npm install react
    npm install <模块名>@<版本号>
    # 例如: npm install lodash@4.17.21
  • 全局安装模块 (通常用于命令行工具):

    bash 复制代码
    npm install -g <模块名>
    # 例如: npm install -g typescript
  • 安装开发时依赖 (devDependencies) :

    这些模块只在开发过程中需要,如测试框架、构建工具等。

    bash 复制代码
    npm install --save-dev <模块名>
    # 或者使用简写:
    npm install -D <模块名>
    # 例如: npm install -D jest
  • 安装可选依赖 (optionalDependencies) :

    如果这些依赖安装失败,NPM 不会报错,项目仍可继续。

    bash 复制代码
    npm install --save-optional <模块名>
    # 或者使用简写:
    npm install -O <模块名>
  • 安装模块但不写入 package.json:

    bash 复制代码
    npm install --no-save <模块名>

npm uninstall (或 npm rm, npm un):卸载不再需要的模块

当项目中不再需要某个模块时,使用此命令将其移除。

  • 卸载项目中的模块 (并从 package.json 移除):

    bash 复制代码
    npm uninstall <模块名>
    # 例如: npm uninstall moment
  • 全局卸载模块:

    bash 复制代码
    npm uninstall -g <模块名>
  • 卸载开发时依赖 (并从 devDependencies 移除):

    bash 复制代码
    npm uninstall --save-dev <模块名>
    # 或者使用简写:
    npm uninstall -D <模块名>

npm update (或 npm up, npm upgrade):保持模块最新

根据 package.json 中定义的版本范围,将依赖更新到较新的兼容版本。

  • 更新所有依赖 :

    bash 复制代码
    npm update
  • 更新特定模块 :

    bash 复制代码
    npm update <模块名>
  • 更新全局安装的模块 :

    bash 复制代码
    npm update -g <模块名>

npm init:开启新项目的向导

为新项目创建一个 package.json 文件,它会引导你填写项目名称、版本、描述等信息。

  • 快速初始化 (所有选项使用默认值) :

    bash 复制代码
    npm init -y
    # 或者
    npm init --yes

npm run <脚本名称>:执行自定义脚本

package.json 文件中的 scripts 字段允许你定义各种自定义命令,通过 npm run 来执行。

  • 示例 (假设 package.json 中有如下配置):

    json 复制代码
    "scripts": {
      "dev": "node server.js",
      "build": "webpack --mode production"
    }

    执行 dev 脚本:

    bash 复制代码
    npm run dev

    执行 build 脚本:

    bash 复制代码
    npm run build

常用脚本快捷方式

NPM 为一些常用的脚本名称提供了快捷方式:

  • npm start:等同于 npm run start
  • npm stop:等同于 npm run stop
  • npm test (或 npm t):等同于 npm run test
  • npm restart:通常执行 npm run stop && npm run restart && npm run start (具体行为取决于脚本定义)。

npm version <版本操作>:管理项目版本

用于更新 package.json 中的版本号,并且如果你的项目是一个 Git 仓库,它还会自动创建版本提交和标签。

  • 常用版本操作 :

    bash 复制代码
    npm
相关推荐
小高00716 小时前
🔥3 kB 换 120 ms 阻塞? Axios 还是 fetch?
前端·javascript·面试
千寻girling16 小时前
面试官 : “ Vue 选项式api 和 组合式api 什么区别? “
前端·vue.js·面试
小二·16 小时前
从零手写《超级玛丽》——前端 Canvas 游戏开发与物理引擎
前端·游戏
da_vinci_x16 小时前
【2D场景】16:9秒变21:9?PS “液态缩放” + AI 补全,零成本适配全面屏
前端·人工智能·游戏·aigc·设计师·贴图·游戏美术
南知意-17 小时前
3.3K Star ! 超级好用开源大屏设计器!
前端·开源·开源项目·工具·大屏设计
华仔啊17 小时前
Vue 组件通信的 8 种最佳实践,你知道几种?
前端·vue.js
用户44455436542618 小时前
Android依赖的统一管理
前端
国家二级编程爱好者18 小时前
Android Lottie使用,如何自定义LottieView?
android·前端
南囝coding18 小时前
《独立开发者精选工具》第 025 期
前端·后端