内容简介:[vscode]快速更新package.json里的依赖版本
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 。
因为这个缘故,我想了想,可以写个 插件 解决问题。
安装
-
打开
vscode -
按下
⌘ + P(windows下是ctrl + P),打开Command Palette -
键入
ext install vscode-npm-dependency找到 npm-dependency插件 -
点击安装
使用
安装完毕后,选择一个你要更新的项目,并打开 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 ,然后就可以开心的更新了
以上所述就是小编给大家介绍的《[vscode]快速更新package.json里的依赖版本》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Gradle构建SpringBoot程序依赖管理之依赖版本自动控制
- Flutter 如何优雅的解决依赖版本冲突
- Android Project 检查依赖库和插件版本
- Spring Boot 1.5.19 发布,依赖项更新版本
- MRoot 2.4 发布,细节优化、Bug 修复和依赖升级版本
- MRoot 2.5 发布,细节优化、Bug修复和依赖升级版本
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
精通Windows应用开发
[美] Jesse Liberty Philip Japikse Jon Galloway / 苏宝龙 / 人民邮电出版社 / 59.00元
Windows 8.1的出现不仅提供了跨设备的用户体验,也提供了跨设备的开发体验。本书着眼于实际项目中所需要的特性,以及现有C#编程知识的运用,对如何最大限度地利用Metro、WinRT和Windows 8进行了讲解,内容详尽,注重理论学习与实践开发的配合。 Windows 8.1和WinRT的作用及其特殊性 如何使用先进特性创建具有沉浸感和吸引力的Windows 8.1应用 如......一起来看看 《精通Windows应用开发》 这本书的介绍吧!