[vscode]快速更新package.json里的依赖版本

news/2024/7/1 4:51:03 标签: json, 开发工具, java

vscode是个超级好用的开发工具,谁用谁知道。

不少前端开发者可能有和我一样的依赖保绿强迫症,简单说,就是见不得下面这些图标:

图片描述图片描述图片描述

但是手动一个个依赖检查么?不现实,也太累了。

npm update?那说明你还是太年轻了,看看它的说明吧:

This command will update all the packages listed to the latest version (specified by the tag config), respecting semver.

注意粗体部分,也就是说,npm update注定了不能帮你把依赖更新到“真正的”最新版,因为semver是有要求的。

譬如,你有一个依赖dep1,它的版本信息如下:

{
   "dist-tags": { "latest": "1.2.2" },
   "versions": [
     "1.2.2",
     "1.2.1",
     "1.2.0",
     "1.1.2",
     "1.1.1",
     "1.0.0",
     "0.4.1",
     "0.4.0",
     "0.2.0"
   ]
 }

然后,假设你的package.json里是这样写的:

"dependencies": {
   "dep1": "^1.1.1"
 }

那么npm update之后,它会变成"dep1": "^1.2.2",这很好,对不对?

但如果你的package.json里是这样写的:

"dependencies": {
   "dep1": "~1.1.1"
 }

那么npm update之后,它会变成"dep1": "^1.1.2",惊喜不惊喜?意外不意外?

如果不理解~^的区别,那你需要去看dependencies-semver。

因为这个缘故,我想了想,可以写个插件解决问题。

安装

  1. 打开vscode

  2. 按下⌘ + P(windows下是ctrl + P),打开Command Palette

  3. 键入ext install vscode-npm-dependency找到npm-dependency插件

  4. 点击安装

使用

安装完毕后,选择一个你要更新的项目,并打开package.json文件,然后在打开的文档里,右键选择Npm update (latest),效果如下:

图片描述

你的package.json就这样被更新了。

注意事项

有朋友的依赖直接用了Git URL,那么这些依赖是会被忽略的,因为npm registry是拿不到这个包版本信息的。

有朋友用了自己部署的npm registry,例如,通过cnpm自己搭建了内部服务器,并且向其提交过私有包,那么显然从官方的https://registry.npmjs.org是不可能同步到你的私有包的,这就需要配置了,给你的vscode增加如下配置(可以是工作空间级别的,当然也可以是用户级别的):

{
    "npm.registry": "https://registry.npmjs.org/"
}

npm.registry的值,可以替换为:https://registry.npm.taobao.org等其他registry,然后就可以开心的更新了


http://www.niftyadmin.cn/n/980141.html

相关文章

1242 斐波那契数列的第N项(矩阵快速幂)

1242 斐波那契数列的第N项 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 斐波那契数列的定义如下: F(0) 0 F(1) 1 F(n) F(n - 1) F(n - 2) (n > 2) (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,…

ubuntu 删除mysql

UBUNTU 彻底删除 MYSQL 然后重装 MYSQL 删除 mysql sudo apt-get autoremove --purge mysql-server-5.0sudo apt-get remove mysql-serversudo apt-get autoremove mysql-serversudo apt-get remove mysql-common //这个很重要上面的其实有一些是多余的。 清理残留数据 dpkg -l…

51Nod-1298 圆与三角形

1298 圆与三角形 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交。相交输出”Yes”&#…

mnist手写数字识别记录-使用keras分类

文章目录1、mnist介绍1、可视化2、各层介绍2、训练过程1、获取图像信息2.具体训练3、测试及反馈本文是我b站上看的一个大佬讲的视频,讲的还是很通俗的,后面又自己查了点资料,加上了自己的一点理解而来的,仅代表本菜鸡理解&#xf…

堡垒机工作机制

网络***:之前介绍过、AAA采用C/S结构,AAA服务器上集中管理用户信息用户想访问网络资源,从而和网关建立连接,网关把用户的认证、授权、计费信息透传给radius服务器审计计费堡垒主机采用AAAA技术,为用户提供安全管理平台…

水比赛系列-HMI串口屏的使用

文章目录1、HMI串口屏介绍1、选型介绍2、开发工具3、新建工程2、HMI串口屏常用控件1、字库图片2、页面切换3、字符最大长度4、全局还是私有5、亮度调节和波特率6、变量7、定时器8、初始化事件3、串口屏数据交互1、串口发送数据2、模拟器仿真3、发送指令改变控件的值4、源码感觉…

1213: [视频]【计算几何】面积

1213: [视频]【计算几何】面积 时间限制: 1 Sec 内存限制: 128 MB 提交: 65 解决: 53 [提交][状态][讨论版] 题目描述 【题意】 在一个平面坐标系上随意画一条有n个点的封闭折线(按画线的顺序给出点的坐标),保证封闭折线的任意两条边都…

stm32-USB使用记录(一)

文章目录1、USB设备介绍2、虚拟串口进行数据收发1、在stm32F1上进行2、在stm32F4上进行3、大容量设备访问内部flash1、USB设备介绍 USB,即为通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术…