升级vue工程小版本

vue的版本迭代非常快,一直让人追赶的节奏(今年要发vue 3.0)。

在使用了vue-cli一段时间后,发现了vue-cli包括cli-server的更新频率非常快,经常修复bug。于是乎也想更细一下相关的组件,但是发现vue upgrade这个命令似乎还不能正常工作,见 feat: implement vue upgrade #2428

手动再用vue create 一个新的工程比较了下package.json,发现就更新了几个组件,手动更新一下。由于package-lock.json的存在,直接用npm install 某一个组件是不会顺带更新其依赖的组件的。比如手动升级了vue,但是vue-template-compiler没有跟着升级,运行时会报版本不匹配。

最为简单粗暴的办法是删除package-lock.json和node_modules,然后修改package.json中的需要升级的组件版本号,然后再npm install 一遍就好,这时会重新生成package-lock.json。

主要是以下依赖包升级版本:

vue
@vue/cli-plugin-babel
@vue/cli-plugin-eslint
@vue/cli-service

这里不忍吐槽下package-lock.json的设计,为了解决依赖管理版本不一致的而产生的。反而在组件版本升级时成立畔脚石。

这是由于npm的包管理在考虑组件的依赖和频繁升级特点,采用了^这样高于某版本的语义(语义版本控制 semver)。导致了项目在依赖库安装时的版本不确定性。这样的设计为了方便而带入不确定因素会导致bug和安全风险,我认为这不是一个好的思路。

特别是对npm audit fix的安全检查升级执行造成了干扰,导致无法包依赖的包无法正确升级。于是出现了这样的命令。(这是何苦……)

$ npm audit fix --package-lock-only

package-lock.json的介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将Node.js升级后,如果在Vue2工程中出现报错,可能是由于Node.js版本升级所带来的一些兼容性问题造成的。以下是一些可能导致报错的原因及对应的解决方法: 1. 包依赖版本不兼容:可能是由于Node.js升级后,某些包依赖的版本Vue2工程不兼容导致的报错。解决方法是检查package.json文件中的依赖版本,并尝试更新或回退依赖版本,以找到兼容的版本。 2. 插件或组件不兼容:某些插件或组件可能针对特定版本的Node.js进行了开发和测试,在升级Node.js后可能无法正常工作。解决方法是查看相关插件或组件的文档,确认是否已更新支持新版本的Node.js,若未更新,需等待插件或组件作者进行相应的更新。 3. Webpack配置问题:在升级Node.js后,可能需要更新Vue2工程中的Webpack相关配置。解决方法是检查webpack.config.js文件中的配置是否需要更新,并根据新版本的Node.js进行相应的修改。 4. 运行环境问题:在升级Node.js后,有时需要重新安装项目所需的依赖包,以确保这些包能够在新版本的Node.js上正常运行。解决方法是删除原有的node_modules文件夹,并使用npm或yarn等包管理工具重新安装依赖包。 总之,当在升级Node.js后遇到Vue2工程报错时,需要检查包依赖版本、插件或组件的兼容性、Webpack配置以及运行环境等方面的问题,并采取相应的解决方法来修复报错。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值