深入浅出:npm 常用命令详解与实践


在现代的前端开发流程中,npm(Node Package Manager)已经成为了不可或缺的一部分。它不仅帮助我们有效地管理项目中的依赖包,还提供了一系列强大的命令来优化开发体验。在这篇博客中,我们将深入探讨 npm 的常用命令,并通过实际的案例和项目实践来加深理解。

一、npm 简介

npm 是随同 Node.js 一起安装的包管理工具,它允许开发者轻松地共享和复用代码,使得项目的构建和维护变得更加高效。

二、npm 常用命令详解

(一)npm init

npm init 命令用于在当前目录中初始化一个新的 Node.js 项目,并创建一个 package.json 文件。这个文件是项目的配置文件,包含了项目的名称、版本、作者、依赖等重要信息。

实践案例:
假设我们要创建一个名为 my-project 的项目。在终端中进入到目标文件夹,然后输入 npm init 。系统会提示您输入一系列的项目信息,如项目名称、版本、描述等。如果您不想逐一输入,可以使用 npm init -y 快速创建一个默认配置的 package.json 文件。

(二)npm install

  1. npm install <package-name> :用于安装指定的包。
    • 实践:如果我们想要在项目中使用 axios 这个 HTTP 请求库,只需输入 npm install axios ,npm 就会自动下载并安装 axios 及其相关的依赖。
  2. npm install <package-name> --save :安装指定的包,并将其添加到 package.json 文件的 dependencies 部分,这表示该包是项目在生产环境中运行所必需的依赖。
    • 示例:对于像 express 这样的后端框架,如果我们确定在生产环境中需要它,就可以使用 npm install express --save 。
  3. npm install <package-name> --save-dev :安装指定的包,并将其添加到 package.json 文件的 devDependencies 部分,通常这些包只在开发过程中使用,比如测试框架、构建工具等。
    • 比如,安装 jest 这个测试框架时,可以使用 npm install jest --save-dev 。

(三)npm update

npm update 命令用于更新项目中已安装的包到最新的可用版本。

实践操作:
在项目目录中执行 npm update ,npm 会检查每个已安装的包是否有新的版本可用,并进行更新。但需要注意的是,这可能会导致一些不兼容的更改,所以在更新之前最好查看相关包的更新日志。

(四)npm uninstall

npm uninstall <package-name> 用于从项目中卸载指定的包。

例如,如果项目不再需要 moment 这个日期处理库,可以输入 npm uninstall moment 来将其移除,并同时会从 package.json 文件中删除相关的依赖配置。

(五)npm run

npm run 用于执行在 package.json 文件中定义的脚本命令。

在 package.json 的 scripts 字段中,我们可以自定义各种脚本,例如:

"scripts": {"start": "node server.js","build": "webpack","test": "jest"
}

然后通过 npm run start 来启动服务器,npm run build 来执行构建操作,npm run test 来运行测试。

实践场景:
假设我们有一个使用 Webpack 进行构建的项目,定义了 build 脚本为 webpack 。在开发过程中,每次需要构建项目时,只需输入 npm run build ,Webpack 就会按照配置文件进行打包操作。

(六)npm list

npm list 用于列出项目中已安装的所有包及其依赖关系。

执行 npm list 后,会以树形结构展示出项目中安装的包以及它们之间的依赖层次。

(七)npm cache

npm cache clean 用于清除 npm 的缓存。

有时候,缓存可能会导致一些奇怪的问题,通过清除缓存可以解决一些安装或更新包时的异常情况。

三、实际项目中的综合运用

实战应用

了解这些命令的使用方法对于日常开发至关重要。下面和大家分享一些 npm 常用命令的实际使用示例:

1. 初始化项目

当你开始一个新的 Node.js 项目时,首先需要创建一个 package.json 文件来管理项目的元数据和依赖。使用 npm init 命令可以做到这一点:

复制

npm init
  • 1.

这个命令会提示你输入项目的信息(如名称、版本、描述等),或者你可以通过 npm init --yes 快速生成默认的 package.json 文件。

2. 安装依赖

安装一个名为 express 的包作为项目的依赖:

复制

npm install express
  • 1.

这会安装 express 并将其添加到 dependencies 列表中。如果是要安装开发依赖(比如测试框架 mocha):

复制

npm install mocha --save-dev
  • 1.

3. 运行脚本

假设你的 package.json 文件中定义了一个名为 start 的脚本:

复制

"scripts": {"start": "node server.js"
}
  • 1.
  • 2.
  • 3.

你可以通过以下命令来运行这个脚本:

复制

npm start
  • 1.

4. 更新依赖

更新所有依赖到最新版本(谨慎操作,可能引入不兼容变更):

复制

npm update
  • 1.

或者只更新特定的包,比如 express:

复制

npm update express
  • 1.

5. 查看依赖

查看已安装的全部依赖及其版本:

复制

npm list
  • 1.

查看是否有依赖包需要更新:

复制

npm outdated
  • 1.

6. 发布包

如果你开发了一个想要分享给社区的包,可以使用 npm publish 命令发布到 npm 仓库。确保你已经在 npmjs.com 上注册了账号,并且当前目录下有正确的 package.json 文件。

复制

npm publish
  • 1.

请注意,一旦发布,就不能修改已发布的版本,只能发布新的版本号。

7. 卸载包

如果你不再需要某个包,可以使用 npm uninstall 命令来移除它。例如,卸载之前安装的 mocha:

复制

npm uninstall mocha
  • 1.

8. 查看包信息

想要了解某个包的详细信息,如版本、作者、许可证等,可以使用 npm view 命令:

复制

npm view express
  • 1.

9. 搜索包

如果你想找一个满足特定需求的包,可以使用 npm search 命令进行搜索。比如,寻找与 “websocket” 相关的包:

复制

npm search websocket
  • 1.

10. 清理缓存

有时候,由于缓存问题可能会导致安装失败或异常,使用 npm cache clean --force(在 npm v6 中)或 npm cache clean --force(在 npm v7 及以后版本中)来清理缓存:

复制

npm cache clean --force
  • 1.

11. 设置镜像源

在中国大陆地区,为了加速 npm 包的下载速度,通常会设置 npm 镜像源。可以使用 npm config 命令设置:

复制

npm config set registry https://registry.npm.taobao.org
  • 1.

12. 查看 npm 配置

如果你想查看当前的 npm 配置信息,可以使用:

复制

npm config list

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/365508.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[数据集][目标检测]游泳者溺水检测数据集VOC+YOLO格式4599张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4599 标注数量(xml文件个数)&#xff1a;4599 标注数量(txt文件个数)&#xff1a;4599 标注…

React 打包时如何关闭源代码混淆

React 开发中&#xff0c;使用 npm build 命令进行生产代码打包&#xff0c;为了压缩代码并尽量保证代码的安全性&#xff0c;React 打包时会代码进行压缩和混淆&#xff0c;但是有时我们需要 debug 生产环境的源代码&#xff0c;例如当我们调试 SSR 的项目时&#xff0c;需要禁…

ThreeJS-3D教学十二:ShaderMaterial

一、首先 Shader 是做什么的 Shader 可以自定义每个顶点、每个片元/像素如何显示&#xff0c;而控制顶点和片元显示是通过设置 vertexShader 顶点着色器和 fragmentShader 片元着色器&#xff0c;这两个着色器用在 ShaderMaterial 和 RawShaderMaterial 材质上。 我们先看一个例…

容器技术-docker5

一、docker-compose 常用命令和指令 1. 概要 默认的模板文件是 docker-compose.yml&#xff0c;其中定义的每个服务可以通过 image 指令指定镜像或 build 指令&#xff08;需要 Dockerfile&#xff09;来自动构建。 注意如果使用 build 指令&#xff0c;在 Dockerfile 中设置…

从零开始三天学会微信小程序开发(三)

看到不少入门的小程序开发者不断的问重复性的问题&#xff0c;我们从实战角度开发了这个课程&#xff0c;希望能够帮助大家了解小程序开发。 课程分三天&#xff1a; 第一天&#xff1a;微信小程序开发入门第二天&#xff1a;给小程序接入云端数据第三天&#xff1a;完善我的…

007-GeoGebra基础篇-构建等边三角形

今天继续来一篇尺规作图&#xff0c;可以跟着操作一波&#xff0c;刚开始我写的比较细一点&#xff0c;每步都有截图&#xff0c;后续内容逐渐复杂后我就只放置算式咯。 目录 一、先看看一下最终效果二、本次涉及的内容三、开始尺规画图1. 绘制定点A和B2. 绘制线段AB3. 以点A为…

企业互联网建站源码系统 附带完整的安装代码包以及搭建部署教程

系统概述 企业互联网建站源码吸系统是一款集众多先进功能于一身的建站工具。它提供了丰富的模板和组件&#xff0c;允许企业根据自身需求和品牌形象进行个性化定制&#xff0c;快速搭建出具有独特风格的网站。 代码示例 系统特色功能一览 1.用户友好界面&#xff1a;系统采用…

grpc学习golang版( 五、多proto文件示例 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文…

git上传本地项目及更新项目

1、注册GitHub账号和下载git 2、在GitHub上新建一个仓库&#xff0c;点击号——>New repository&#xff0c;给仓库起一个名字&#xff0c;点击Create repository 3、进入要上传的项目中&#xff0c;右键点击git back here&#xff0c;命令行输入git init初始化&#xff0c…

socket编程常见操作

1、连接的建立 分为两种&#xff1a;服务端处理接收客户端的连接&#xff1b;服务端作为客户端连接第三方服务 //作为服务端 int listenfd socket(AF_INET, SOCK_STREAM, 0); bind(listenfd, (struct sockaddr*)&servaddr, sizeof(servaddr))) listen(listenfd, 10); //…

Renesas R7FA8D1BH (Cortex®-M85)串口应用总结

目录 概述 1 软硬件 1.1 软硬件环境信息 1.2 开发板信息 1.3 调试器信息 2 FSP和KEIL配置串口 2.1 配置参数 2.2 生成基于Keil的软件架构 3 FSP代码 3.1 FSP中UART接口函数 3.2 案例代码介绍 3.3 案例代码存在的问题 4 UART代码实现 4.1 功能函数介绍 4.2 完整…

IDEA 插件推荐【一】

好使的插件可以让工作事倍功半。下面就推荐一些常用的IDEA插件&#xff0c;如果你有其他好使的插件&#xff0c;欢迎评论区留言分享出来~ 1.Key Promoter X Key Promoter X 插件&#xff0c;IDEA 快捷键提示工具。 在每次我们使用鼠标进行 IDEA 的某个操作&#xff0c;Key Pr…

Java基础(判断和循环)

一、流程控制语句-顺序结构 顺序结构语句是Java程序默认的执行流程&#xff0c;按照代码的先后顺序&#xff0c;从上到下依次执行。 二、流程控制语句-分支结构&#xff08;分支结构包括if、switch) if语句&#xff1a;在程序中用来进行判断 1、If语句的第一种格式&#xf…

Django之阿里云短信

短信验证 短信验证,首先得选择一个短信发送服务器上,本文档使用阿里云实现短信发送功能 阿里云短信网 网址:短信服务_企业短信营销推广_验证码通知-阿里云 注册账号 新账号赠送100条,可以不用充值,即可进行测试 接入 短信 进行 个人实名认证 编写代码执行 安装依赖模块 p…

前端基础:HTML

目录 HTML概述 HTML基本语法 标签属性 代码基本语法注解 运行 ​编辑 基本常用标签 标题标签 代码 运行 段落标签 代码 运行 列表 无序列表 代码 运行 有序列表 代码 运行 ​编辑 超链接 代码 运行 图像标签 代码 运行 特殊符号转义 代码 运行 …

vscode的一些使用问题

vscode使用技巧 1、快捷键&#xff08;1&#xff09;打开命令面板&#xff08;2&#xff09;注释&#xff08;3&#xff09;删除行&#xff08;4&#xff09;上下移动光标&#xff08;5&#xff09;光标回退&#xff08;6&#xff09;复制行&#xff08;7&#xff09;插入空白行…

HTML5文旅文化旅游网站模板源码

文章目录 1.设计来源文旅宣传1.1 登录界面演示1.2 注册界面演示1.3 首页界面演示1.4 文旅之行界面演示1.5 文旅之行文章内容界面演示1.6 关于我们界面演示1.7 文旅博客界面演示1.8 文旅博客文章内容界面演示1.9 联系我们界面演示 2.效果和源码2.1 动态效果2.2 源代码2.3 源码目…

前后端交互整合 - Wiki

集成 Http 库 axios 首先在前端工程中安装 axios ,切换为 wiki / web 目录下,安装命令行为 npm install axios --save 通过 axios 调用电子书列表接口: 定义 setup( ) 方法,页面被调用时便会执行此方法,在方法中要想使用 axios ,首先需要引入 axios 包: import axios f…

【MySQL】Linux下MySQL的目录结构、用户、权限与角色

一、Linux下MySQL的目录结构 1、MySQL相关目录 数据库文件存放路径&#xff1a;/var/lib/mysql数据库命令存放路径&#xff1a;/user/bin和/user/sbin配置文件目录&#xff1a;/usr/share/mysql-8.0/、/usr/share/mysql/和/etc/my.cnf 2、假设我们创建了一个数据库dbtest1&a…

探索视觉世界:深入了解目标检测算法的奥秘

目标检测算法 一、介绍目标检测算法的背景和意义1.1 目标检测的定义和应用场景1.2 目标检测算法的发展历程 二、目标检测算法分类2.1 传统目标检测算法2.1.1 基于分类器的目标检测算法2.1.2 基于模板匹配的目标检测算法 2.2 深度学习目标检测算法2.2.1 两阶段目标检测算法2.2.2…