uni-app v3编译器热编译几次后出现错误

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

uni-app v3编译器热编译几次后出现错误

开发环境 版本号 项目创建方式
Mac 10.15.5 (19F101) HBuilderX

测试过的手机

iPhone 11

示例代码:

18:13:57.216 [ERROR] : TypeError: r[t] is not a function. (In 'r[t]()', 'r[t]' is undefined)
18:13:57.239 [ERROR] : TypeError: undefined is not an object (evaluating 'r.addVData')

操作步骤:

编译运行到手机,修改代码,自动编译,手机会自动更新。重复这样的操作几次后,HBuilderX会提示上面的错误。

预期结果:

希望可以和之前一样一直正常编译,每次重新编译的时间实在是太长,CPU的核心都没有利用上。为啥纯 vue 的web项目编译那么快?

实际结果:

编译报错

bug描述:

18:13:57.216 [ERROR] : TypeError: r[t] is not a function. (In 'r[t]()', 'r[t]' is undefined)  
18:13:57.239 [ERROR] : TypeError: undefined is not an object (evaluating 'r.addVData')

47 回复

领导已经把我开除了,说我写的什么垃圾玩意,启动就白屏,我看了一下 就是报上面那几个错


白屏显现特别严重,严重到领导要打人了。就是这俩个报错 都不知道什么问题!!官方一直都不解决,领导急客户急。

已被领导开除,DCloud有负责赔偿吗

措不及防的Bug,现以被迫离职!

08:55:58.315 [ERROR] : TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) 08:55:58.325 [ERROR] : TypeError: undefined is not an object (evaluating ‘r.addVData’)
同样的问题,经常白屏,重新编译有时候好有时候还是报这个,无法定位错误位置,目前没找到解决办法

r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined)
undefined is not an object (evaluating ‘r.addVData’)
undefined is not an object (evaluating ‘r.updateVData’) 我的也会报这个三个错

我也出现这个报错,第一次打开app的时候白屏,针对我的情况,我自定义的sass 导入从uni.sass 移到了app.vue 的style当中,现在没有出现这个问题

是否有必现步骤? 是不是修改pages.json中的配置导致的?比如删除了某个正在预览的页面?

编译完 一进首页就报这个错 :TypeError: undefined is not an object (evaluating ‘r.updateVData’)

回复 [已删除]: 必现?不是热更新偶发的?

回复 DCloud_UNI_FXY: 偶发,有热更新后,也有手动重启app的时候

小米,升级最新版本后编译手机运行自定义基座报错。比较频繁!
Uncaught SyntaxError: Unexpected token ? at app-view.js:28644 TypeError: r[t] is not a function at view.umd.min.js:1 21:43:58.780 TypeError: Cannot read property ‘addVData’ of undefined at view.umd.min.js:1 21:44:00.588 Uncaught SyntaxError: Unexpected token ? at app-view.js:28644

退回之气的版本还是报错,
22:32:01.252 Uncaught SyntaxError: Invalid or unexpected token at app-view.js:7622 22:32:01.636 App Launch at App.vue:4 22:32:01.657 App Show at App.vue:25 22:32:01.909 TypeError: r[t] is not a function at view.umd.min.js:1 22:32:01.971 TypeError: Cannot read property ‘addVData’ of undefined at view.umd.min.js:1 22:32:02.330 Uncaught SyntaxError: Invalid or unexpected token at app-view.js:7622

TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) TypeError: undefined is not an object (evaluating ‘r.addVData’)
出现这种错误后直接白屏,都不知道如何跟客户解释

麻烦问一下解决了吗?

升级新版本了,我也遇到了这个问题。严重bug,兼容性好差。

我这也是遇到同样的问题。 15:42:14.584 TypeError: undefined is not an object (evaluating ‘r.addVData’)
15:42:14.605 TypeError: undefined is not an object (evaluating ‘r.updateVData’)
15:42:14.625 TypeError: undefined is not an object (evaluating ‘r.updateVData’)
15:42:14.646 TypeError: undefined is not an object (evaluating ‘r.updateVData’)

同样遇到:undefined is not an object (evaluating ‘r.addVData’)

现在遇到了 莫名其妙出现
TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) 18:35:49.346 TypeError: undefined is not an object (evaluating ‘r.addVData’)

TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) 10:22:05.389 TypeError: undefined is not an object (evaluating ‘r.addVData’) 同样问题页面没写东西都报错这个问题

发测试工程,重现步骤

@DCloud_UNI_FXY IOS 14.3 IPAD 模拟器热更新和重新启动均会出现此问题,热更新出现频率更高,就只有IOS 14.2 ipad会出现,不知如何定位问题所在?

同样出现,啥时候能解决啊,还有意外的标识符,热部署的时候,偶尔就出现,我都蒙了,都不知道哪个页面出的

TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) TypeError: undefined is not an object (evaluating ‘r.addVData’) TypeError: undefined is not an object (evaluating ‘r.updateVData’) TypeError: undefined is not an object (evaluating ‘r.updateVData’) TypeError: undefined is not an object (evaluating ‘r.updateVData’)
同样出现,自己写的代码都没有这段,第一次装app后启动后能使用,然后关闭,重新进入就出现了,或者开发的时候热更新的情况也出现过,出现评率高

都是tabbar首屏的场景出现,切换其他tabbar还会继续出现 TypeError: undefined is not an object (evaluating ‘r.updateVData’)

我手上几个APP 就一个APP出现。而且出现是测试手机。苹果6 11 华为30 40 OPPO A72这些手机上,用户也有反应新安装首次大多会出现。重新开APP就正常。 如下白屏 22:56:53.321 TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) 22:56:53.352 TypeError: undefined is not an object (evaluating ‘r.addVData’) 22:56:54.347 TypeError: undefined is not an object (evaluating ‘r.updateVData’)

前几天华为上架被驳回,理由是 详细描述:我们发现您的应用被系统检测出存在安装测试未通过问题。请参考《审核指南》第3.1相关审核要求:https://developer.huawei.com/consumer/cn/doc/50104

不定期出现这个问题,头大

回复 新为向前: 现在发现。APP后台运行停止,打开出现这个报错的机率要很大。十次有个三次以上

昨天刚更新的 Hbuilderx 双击返回退出app,再进入会概率性出现这种情况,就是一直在启动页,加载不出来。尤其是低端设备,概率高。

重复启动几次必现啊

更新后确实一只出现这个问题,IOS基座测试能打开APP,并报错,正式打包后启动图标结束后就白屏了

这个问题到底解决没有,现在还是一直报错,IOS基座报错,但是能打开,正式打包IOS就白屏

回退版本吧老哥

回复 9***@qq.com: 我解决了,和同事的前端代码合并后发现是他们些的正则表达式有问题,奇怪的是 启动页和首页没有正则计算,在其他页面为啥IOS启动不了,怀疑是IOS会在APP启动时预载所有页面

TypeError: r[t] is not a function. (In ‘rt’, ‘r[t]’ is undefined) TypeError: undefined is not an object (evaluating ‘r.addVData’) 同样的问题

TypeError: r[t] is not a function at view.umd.min.js:1
TypeError: Cannot read properties of undefined (reading ‘addVData’) at view.umd.min.js:1
Uncaught SyntaxError: Invalid or unexpected token at app-view.js:8978 依旧如此,我看看会不会被开除

这个问题您解决了吗?我也遇到了…一模一样的报错

兄弟们,我解决了问题

现在很少触发了吧,怎么解决的

开发遇到相同问题,启动模拟器出现这个问题,发现一个scss语法有问题

修改后正常了

快2025了,问题依旧

在处理uni-app v3编译器热编译几次后出现错误的问题时,通常这类问题可能涉及多种因素,包括但不限于缓存问题、依赖冲突、资源加载错误等。下面提供一个可能的解决思路和代码案例,帮助你排查和定位问题。

1. 清理缓存

首先,尝试清理项目缓存,这有时可以解决热编译过程中出现的一些奇怪错误。在uni-app项目中,你可以通过修改vue.config.js(如果存在)或直接在命令行中执行一些命令来清理缓存。

# 清理npm缓存
npm cache clean --force

# 删除node_modules目录和package-lock.json文件,然后重新安装依赖
rm -rf node_modules package-lock.json
npm install

2. 检查webpack配置

如果你在使用自定义的webpack配置,确保没有引入可能导致热编译错误的插件或loader。以下是一个简单的webpack配置示例,你可以参考并调整:

// vue.config.js
const path = require('path');

module.exports = {
  configureWebpack: {
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src'),
      },
    },
    // 其他webpack配置...
  },
  devServer: {
    hot: true, // 开启热重载
    // 其他devServer配置...
  },
};

3. 监控热编译日志

在热编译过程中,仔细查看控制台输出的日志信息,查找可能的错误提示或警告。有时,一个小的语法错误或资源加载失败都可能导致编译中断。

4. 示例代码检查

确保你的代码中没有可能导致热编译失败的逻辑,比如循环依赖、大量的计算逻辑在组件的createdmounted钩子中执行等。下面是一个简单的组件示例,展示如何在不影响热编译的情况下进行组件初始化:

<template>
  <div>{{ message }}</div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello, uni-app!',
    };
  },
  mounted() {
    // 避免在mounted中进行大量计算或异步操作,这可能会影响热编译性能
    this.initialize();
  },
  methods: {
    initialize() {
      // 初始化逻辑
      console.log('Component initialized');
    },
  },
};
</script>

总结

如果上述方法仍然无法解决问题,建议详细查看uni-app的官方文档和社区论坛,看是否有其他开发者遇到并解决了类似的问题。同时,确保你的uni-app和相关依赖都更新到最新版本,因为新版本可能已经修复了旧版本中的一些bug。

回到顶部