vscode是一款超级好用的开发工具,用过的人都知道。很多前端开发者可能和我一样有依赖绿色的强迫症。简单的说,他们就是看不到下面的图标:但是你是不是手动一一检查依赖关系?不切实际且令人筋疲力尽。使用npm更新?这意味着你还太年轻,看看它的描述:这个命令将更新所有列出的包到最新版本(由标签配置指定),尊重semver。注意加粗的部分,也就是说,npmupdateisdoomed我不能帮你更新你的依赖到“真正的”最新版本,因为需要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"]}然后,假设你包裹。json中是这样写的:"dependencies":{"dep1":"^1.1.1"}然后npmupdate后,就变成了"dep1":"^1.2.2",这样就好了吧?但是如果你的package.json是这样写的:"dependencies":{"dep1":"~1.1.1"}那么npmupdate之后,就会变成"dep1":"^1.1.2",奇怪不奇怪?事故与否?如果你不明白~和^之间的区别,那么你需要看看dependencies-semver。为此,我想了想,写了一个插件来解决问题。安装并打开vscode按?+P(windows下为ctrl+P),打开CommandPalette,输入extinstallvscode-npm-dependency,找到npm-dependency插件,点击installanduse安装完成后,选择一个你要更新的项目,打开它的package.json文件,然后在打开的文件中,右键选择npmupdate(latest),效果如下:你的package.json就这样更新了。注意事项如果朋友的依赖直接使用GitURL,那么这些依赖会被忽略,因为npmregistry无法获取到这个包的版本信息。有些朋友使用自己部署的npmregistry。比如他们通过cnpm搭建了一个内部服务器,向其提交私有包。很明显,不可能从官方的https://registry.npmjs.org同步到你的私有Package,需要配置,在你的vscode中添加如下配置(可以在workspace级别,当然也可以在用户级别):{"npm.registry":"https://registry.npmjs.org/"}npm.registry的值可以替换为:https://registry.npm.taobao.org和其他注册表,然后就可以愉快的更新了
