uni-app 本地使用版本为2.7.16 编译成H5后 chunk-vendors.aa3f4b34.js 文件中Vue默认写死的版本为2.6.11

uni-app 本地使用版本为2.7.16 编译成H5后 chunk-vendors.aa3f4b34.js 文件中Vue默认写死的版本为2.6.11

开发环境 版本号 项目创建方式
Mac 15.5 HBuilderX
### 操作步骤:
- npm list vue

### 预期结果:
- vue@2.7.16 

### 实际结果:
- vue@2.7.16 

### bug描述:
使用HBuilde 创建的vue2项目 本地使用版本为2.7.16 编译成H5后 chunk-vendors.aa3f4b34.js 文件中Vue默认写死的版本为2.6.11 已知2.6.11版本有问题没法升级 安全审核过不了

更多关于uni-app 本地使用版本为2.7.16 编译成H5后 chunk-vendors.aa3f4b34.js 文件中Vue默认写死的版本为2.6.11的实战教程也可以访问 https://www.itying.com/category-93-b0.html

22 回复

本地使用版本为2.7.16 啥意思,hx创建的项目不支持修改 vue的小版本号

更多关于uni-app 本地使用版本为2.7.16 编译成H5后 chunk-vendors.aa3f4b34.js 文件中Vue默认写死的版本为2.6.11的实战教程也可以访问 https://www.itying.com/category-93-b0.html


{ “name”: “uni-app”, “version”: “0.1.0”, “private”: true, “scripts”: { “serve”: “npm run dev:h5”, “build”: “npm run build:h5”, “build:app-plus”: “cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build”, “build:h5”: “cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build”, “build:mp-weixin”: “cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build”, “dev:app-plus”: “cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch”, “dev:custom”: “cross-env NODE_ENV=development uniapp-cli custom”, “dev:h5”: “cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve”, “dev:mp-weixin”: “cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch” }, “dependencies”: { “@dcloudio/uni-app-plus”: “^2.0.1-35320220729002”, “@dcloudio/uni-h5”: “^2.0.1-35320220729002”, “@dcloudio/uni-i18n”: “^2.0.1-35320220729002”, “@dcloudio/uni-mp-weixin”: “^2.0.1-35320220729002”, “@dcloudio/uni-stat”: “^2.0.1-35320220729002”, “@dcloudio/uni-ui”: “^1.5.7”, “color-thief-browser”: “^2.0.2”, “core-js”: “^3.6.5”, “crypto-js”: “^4.2.0”, “uqrcodejs”: “^4.0.7”, “uview-ui”: “^2.0.37”, “vue”: “^2.7.16”, “vue-jsonp”: “^2.1.0”, “vuex”: “^3.2.0”, “weixin-js-sdk”: “^1.6.5”, “z-paging”: “^2.7.10” }, “devDependencies”: { “@babel/runtime”: “^7.27.6”, “@dcloudio/types”: “^2.6.7”, “@dcloudio/uni-automator”: “^2.0.1-35320220729002”, “@dcloudio/uni-cli-shared”: “^2.0.1-35320220729002”, “@dcloudio/uni-template-compiler”: “^2.0.1-35320220729002”, “@vue/cli-plugin-babel”: “~5.0.8”, “cross-env”: “^7.0.2”, “sass”: “^1.66.1”, “sass-loader”: “^13.3.2”, “vue-template-compiler”: “^2.7.16” }, “browserslist”: [ “Android >= 4.4”, “ios >= 9” ], “uni-app”: { “scripts”: {} } } package.json 中 “vue”: “^2.7.16”,“vue-template-compiler”: “^2.7.16” 版本都是2.7.16 编译成H5后chunk-vendors.aa3f4b34.js文件中vue版本为2.6.11

回复 Developer_June: 你发个完整的可复现demo

回复 DCloud_UNI_JBB: 完整demo附件已上传

回复 DCloud_UNI_JBB: 你试试用 patch-package 手动覆盖掉 uniapp内部的 vue 的版本,或者参考这个文章,覆盖uniapp内部的vue版本,https://juejin.cn/post/7313501001788702754

回复 DCloud_UNI_JBB: resolutions 试过 这个强制覆盖版本 编译H5后这个文件chunk-vendors.aa3f4b34.js文件中vue版本覆盖不了

回复 Developer_June: 你的需求只是修改产物中的版本号吗?

回复 DCloud_UNI_JBB: 是的 能同步修改掉dist包中chunk-vendors.js文件中的Vue版本

回复 Developer_June: 那你就写个webpack插件或者脚本,打包结束之后替换vue版本号

回复 DCloud_UNI_JBB: 打包结束后替换chunk-vendors文件中的版本 安扫还是过不了 现在就是这么操作的

回复 Developer_June: 安扫扫的是版本号还是版本对应的代码啊?

回复 DCloud_UNI_JBB: 我在文件中版本号改了2.7.16后 安扫那边扫出来还是漏洞 改了没有用

回复 Developer_June: 问了下ai,它说可以这样试试全部覆盖vue版本,{ “resolutions”: { “vue”: “3.2.47”, “@dcloudio/*/vue”: “3.2.47”, “**/vue”: “3.2.47” // 递归锁定所有子依赖 } } 你试试有没有用

回复 DCloud_UNI_JBB: “resolutions”: { “vue”: “2.7.16”, “@dcloudio/*/vue”: “2.7.16”, “**/vue”: “2.7.16” },这边试了 没有用chunk-vendors.js文件中还是Sn.version=“2.6.11” 这个版本改不了

回复 Developer_June: 没什么好的思路了

回复 DCloud_UNI_JBB: chunk-vendors.js 文件中的Sn.version=“2.6.11” 主要是做什么的 直接清空这里的版本号是否会有影响

回复 Developer_June: 这个是vue代码的编译产物,你新建一个webpack vue2的项目,不包含uniapp,应该也会有

完整的demo

请问您解决了吗?我也遇到这个问题了

请问你解决了吗?我也遇到这个问题了

试试通过 overrides 设置 vue 的版本为 2.7.16,参考文档 https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides

这是 uni-app 构建工具链的版本锁定问题。uni-app 内部依赖的 @dcloudio/vue-cli-plugin-hbuilderx 等包会锁定 Vue 2.6.11 版本,导致即使项目本地使用 Vue 2.7.16,H5 构建时仍被强制降级。

解决方案:

  1. package.json 中添加 resolutions 字段强制锁定 Vue 版本:
{
  "resolutions": {
    "**/vue": "2.7.16",
    "**/@vue/**": "2.7.16"
  }
}
回到顶部