npm 常用指令总结

1. 初始化包

一个存放了代码的文件夹,如果里面有 package.json 文件,则可以把这个文件夹称之为包。

npm init -y

注意: 由于包名不能有中文,不能有大写,不能和未来要下载的包重名. 所以我们快速初始化包时,我们的文件夹也不能违反前面说的规则.(因为默认会将文件夹的名称,作为包名)

2.安装包

2.1包的分类:
  •  本地包(当前项目要使用的包,一般都是一些 js 库或框架.下载时命令行窗口的路径一定得是当前项目的根目录)
    •  开发环境的包
    •  生产环境的包
  •  全局包(所有项目都可以用,一般是工具)
     `npm i 包名 --global` 或 `npm i 包名 -g`

    就是把某个第三方包下载到当前项目中,安装到当前项目的包又分两种:

  1.  项目包(生产环境包)
  2. 开发包(开发环境包)

项目包和开发包的区别: 项目包最终上线也要使用,开发包只在开发时使用,项目上线不使用

  • 将包记录在 dependencies 中 :
     `npm install 包名` 或 `npm i 包名`或`npm i --save 包名`
  • 将包记录在 devDependencies 中:
    `npm i --save-dev 包名` 或 `npm i 包名 -D`
  • 下载指定版本的包:
    npm i 包名@版本号
  • 下载所有依赖包:

    `npm install` 或 `npm i`

npm 会先去找 package-lock.json,根据里面记录的信息下载所有的依赖包,如果没有 package-lock.json,会根据 package.json 记录的信息,下载所有依赖包. package-lock.json 中记录的包的信息更详细,有下载地址,所以根据 package-lock.json 下载比 package.json 更快

  • 同时下载多个包:
    npm i 包名1 包名2@版本 ...

    描述:当执行了这个安装包的指令,并将包安装完毕之后. 项目中会增加一个 node_modules 文件夹,这里存放了我们下载的包以及这个包依赖的包,也增加了一个 package-lock.json.这里记录了 node_modules 里面所有包的名字,版本号和下载地址.

2.2 package-lock.json 和 package.json 的区别:
  • package.json 只简单记录我们依赖的哪些第三方的包, 并包含包名和版本号
  • package-lock.json 不光记录了我们依赖的第三方包,还记录了我们下载的第三方包依赖的其他包信息,不仅有包名和版本号,还有下载地址

3. 查看包

  • 查看全局包
npm ls -g

不关心执行这个指令的路径

  • 查看指定项目的本地包 
npm ls

执行这个指令的路径必须是指定项目的根目录

4. 更新包

npm update 包名

   注意: 更新包指令执行完毕之后,package.json 中的版本信息不会发生变化.可以在 package-lock.json 中查看到.但是不推荐这个这个指令.如果真的需要更新包的版本则直接重新下载覆盖即可

5. 删除包

npm uninstall 包名

6. 清缓存

 npm cache clean --force

7. 增加 npm 自定义指令

   在当前项目的 package.json 中的 scripts 里面定义. 注意: 也只对当前项目生效

     "scripts": {"xxx": "node index.js","start":"node index.js"},

   指令过长时,可以运行: `npm run xxx`精简指令,等同于执行`node index.js` , start 比较特殊可以不加 run ,输入`npm start`即可运行。

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

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

相关文章

数据结构 - 2(顺序表10000字详解)

一:List 1.1 什么是List 在集合框架中,List是一个接口,继承自Collection。 Collection也是一个接口,该接口中规范了后序容器中常用的一些方法,具体如下所示: Iterable也是一个接口,Iterabl…

【Vue面试题二十三】、你了解vue的diff算法吗?说说看

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:你了解vue的diff算法吗&…

Vue-3.1缓存组件keep-alive

问题:从首页卡片点到详情页,又点返回,数据重新加载了->希望回到原来的位置 原因:路由跳转后,组件被销毁了,返回回来组件又被重建了,所以数据重新被加载了 解决:利用keep-alive将…

【Vue面试题二十一】、Vue中的过滤器了解吗?过滤器的应用场景有哪些?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:Vue中的过滤器了解吗&am…

Java字符串String

【char】类型代表字符类型,【String】类型代表字符串类型; 1.String类 1.1 声明字符串 在Java中字符串必须包含在一对双引号(“ ")之内。双引号包含的都是字符串。 声明字符串语法: String str; //声明字符串语…

卡尔曼家族从零解剖-(02)贝叶斯滤波-知其所以然

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…

排序算法-选择排序法(SelectionSort)

排序算法-选择排序法(SelectionSort) 1、说明 选择排序法也是枚举法的应用,就是反复从未排序的数列中取出最小的元素,加入另一个数列中,最后的结果即为已排序的数列。选择排序法可使用两种方式排序,即在所…

【Java集合中各种数据结构的方法汇总】

文章目录 Java集合中各种数据结构的方法汇总数组 ArrayList 、LinkedList链表 LinkedList栈 Stack队列 ArrayQueue、LinkedList哈希表 HashMap堆 PriorityQueue Java集合中各种数据结构的方法汇总 获取大小:fun.size(); 判断是否为空:fun.isEmpty(); …

苍穹外卖(七) Spring Task 完成订单状态定时处理

Spring Task 完成订单状态定时处理, 如处理支付超时订单 Spring Task介绍 Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 应用场景: 信用卡每月还款提醒 火车票售票系统处理未支付订单 入职纪念日为用户发送通知 点外…

操作系统学习笔记4-死锁问题

文章目录 1、死锁逻辑图2、死锁三胞胎3、死锁的原因及必要条件4、死锁处理策略之死锁预防5、死锁处理策略之死锁避免(银行家算法)6、死锁处理策略之死锁检测与解除 1、死锁逻辑图 2、死锁三胞胎 3、死锁的原因及必要条件 4、死锁处理策略之死锁预防 5、死…

python openai宠物名字生成器

文章目录 OpenAICompletion宠物名字生成器提示词工程 prompt enginering 构建应用程序结果展示 OpenAI OpenAI 已经训练了非常擅长理解和生成文本的领先的语言模型。我们的 API 提供对这些模型的访问,可用于处理几乎任何涉及”语言处理“的任务。 Completion 补全…

18 | 生产环境多数据源的处理方法有哪些

工作中我们时常会遇到跨数据库操作的情况,这时候就需要配置多数据源,那么如何配置呢?常用的方式及其背后的原理支撑是什么呢?我们下面来了解一下。 首先看看两种常见的配置方式,分别为通过多个 Configuration 文件、利…

【完美世界】云曦篇开播时间定档,推迟两周,石昊新形态帅翻,怒斩战王

Hello,小伙伴们,我是小郑继续为大家深度解析国漫资讯。 完美世界动画更新最新资讯,石昊在血色平原与云曦重逢并英雄救美。 官方公布了云曦特别篇的先导预告,播出时间推迟了两周。 石昊在特别篇中出现了新形态,以雷帝甲胄为主&…

Leetcode—88.合并两个有序数组【简单】

2023每日刷题(一) Leetcode—88.合并两个有序数组 题解 因为这两个数组已经排好序,我们可以把两个指针分别放在两个数组的末尾,即 nums1 的m − 1 位和 nums2 的 n − 1 位。每次将较大的那个数字复制到 nums1 的后边&#xff0…

Kafka SASL认证授权(六)全方位性能测试

Kafka SASL认证授权(六)全方位性能测试。 官网地址:https://kafka.apache.org/ 一、场景 线上已经有kafka集群,服务运行稳定。但是因为产品升级,需要对kakfa做安全测试,也就是权限验证。 但是增加权限验证,会不会对性能有影响呢?影响大吗?不知道呀! 因此,本文就此…

【Hyper-V】Windows的Hyper-V管理器创建的虚拟机上怎么复制粘贴文件

在hyper-V 管理器中创建的虚拟机里面,发现它是不能直接复制粘贴文件的,那只能粘贴纯文本内容,也就是模拟输入内容,这是虚拟系统是被隔离的,也带来不便之处,要怎么解决这个限制呢。 例如,打开一…

队列的实现(c语言)

队列也是线性表&#xff0c;也是分为两种的&#xff1a;1、顺序队列 2、链队列 顺序队列 #include <stdio.h> #include <stdlib.h>typedef struct {char *base;int front;int erer;int size; }SqQueue;void initSqQueue(SqQueue *queue,int size){queue->base…

基于静电放电优化的BP神经网络(分类应用) - 附代码

基于静电放电优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于静电放电优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.静电放电优化BP神经网络3.1 BP神经网络参数设置3.2 静电放电算法应用 4.测试结果…

电动力学专题研讨:运动电荷之间的相互作用是否满足牛顿第三定律?

电动力学专题研讨&#xff1a;运动电荷之间的相互作用是否满足牛顿第三定律&#xff1f;​​​​​​​ 两个稳恒电流元之间的相互作用不一定服从牛顿第三定律常见的解释是&#xff1a;稳恒电流元是不能孤立存在的&#xff0c;因此不能得出结论 符号约定 两个运动点电荷之间的力…