uni-app cli 项目使用 npx @dcloudio/uvm@latest 升级基础库版本后,微信小程序出现异常警告

发布于 1周前 作者 yibo5220 来自 Uni-App

uni-app cli 项目使用 npx @dcloudio/uvm@latest 升级基础库版本后,微信小程序出现异常警告

开发环境 版本号 项目创建方式
Windows win11 CLI

产品分类:uniapp/小程序/微信

PC开发环境操作系统:Windows

第三方开发者工具版本号:vscode1.88.0

基础库版本号:3.0.0-4000820240401001

CLI版本号:vite 1.1.4 vite4.35

示例代码:

interface Props { // 瀑布流数据 modelValue: Array<any> // 数据的id值,根据id值对数据执行删除操作 // 如数据为:{id: 1, name: ‘ui’},那么该值设置为id idKey: string // 每次插入数据的事件间隔,间隔越长能保证两列高度相近,但是用户体验不好,单位ms addTime?: number // 瀑布流的列数,默认2,最高为5 columnCount?: number // 列与列的间隙,默认20 columnGap?: number // 左边和列表的间隙 leftGap?: number // 右边和列表的间隙 rightGap?: number } const props = withDefaults(defineProps<Props>(), { modelValue: () => [], idKey: “id”, addTime: 200, columnCount: 2, columnGap: 20, leftGap: 0, rightGap: 0 }) const gapLeftStyle = computed(() => { const style: CSSProperties = {} style.width = addUnit(props.leftGap.toString()) return style })


操作步骤:

使用npx [@dcloudio](/user/dcloudio)/uvm[@latest](/user/latest)  3.0.0-3090920231225001升级至3.0.0-4000820240401001所有组件在编译为微信小程序的时候,一旦父子组件使用props传参语法的组件在微信小程序控制台报警,编译为h5控制台正确无提示

预期结果:

正确写法不应报警


实际结果:

满屏报警

bug描述:

使用npx @dcloudio/uvm@latest 由3.0.0-3090920231225001升级至3.0.0-4000820240401001所有组件一旦使用const props = withDefaults(defineProps<Props>(),{})语法的组件都在报警:Property “***” was accessed during render but is not defined on instance.


1 回复

在使用 npx @dcloudio/uvm@latest 升级 uni-app 项目的依赖后,微信小程序出现异常警告,可能是由于以下原因导致的:

1. 基础库版本不兼容

  • uni-app 的基础库和微信小程序的基础库可能存在版本不兼容的问题。你可以尝试以下步骤:
    • 检查 manifest.json 文件中 mp-weixin 节点的 libVersion 字段,确保它指向一个兼容的微信小程序基础库版本。
    • 在微信开发者工具中,手动调整微信小程序的基础库版本,选择一个稳定的版本进行测试。

2. 依赖包未正确更新

  • 升级后,部分依赖包可能未正确更新或安装。你可以尝试删除 node_modules 目录和 package-lock.json 文件,然后重新安装依赖:
    rm -rf node_modules package-lock.json
    npm install

3. uni-app 插件或组件不兼容

  • 如果你在项目中使用了第三方插件或组件,它们可能还不支持最新版本的 uni-app 基础库。你可以尝试以下方法:
    • 检查插件的官方文档或更新日志,查看是否有兼容性说明。
    • 尝试使用较旧版本的 uni-app 基础库,或者临时移除不兼容的插件进行测试。

4. 微信开发者工具缓存问题

  • 微信开发者工具可能会缓存旧版本的代码,导致异常警告。你可以尝试清除缓存:
    • 在微信开发者工具中,点击菜单栏的「工具」->「清除缓存」->「全部清除」。
    • 然后重新编译项目。

5. 检查控制台日志

  • 打开微信开发者工具的控制台,查看具体的错误日志和警告信息。根据日志中的提示,进一步排查问题。

6. 回滚到之前的版本

  • 如果问题无法解决,你可以考虑回滚到之前的稳定版本。使用以下命令回滚:
    npx @dcloudio/uvm@<previous_version>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!