首页 > 解决方案 > 未捕获的类型错误:无法使用电子更新程序代码读取未定义的属性“on”

问题描述

我想为我的电子应用程序添加更新功能。所以我搜索了一下,发现有“eletron-updater”包。所以我将电子更新程序代码应用于我的应用程序。但它没有错误。

我的应用程序有主父页面,并且有“检查更新”按钮。当我单击“检查更新”按钮时,应该会出现新的更新检查窗口并检查是否有更新。

但是,当我粘贴部分“电子更新程序”代码时,我的应用程序主页变空了,它显示了一个错误。

[错误]

Uncaught TypeError: Cannot read property 'on' of undefined
    at eval (index.vue?6ced:26)
    at Module../node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/renderer/components/UpdateWindow/index.vue?vue&type=script&lang=js& (renderer.js:990)
    at __webpack_require__ (renderer.js:791)
    at fn (renderer.js:102)
    at eval (index.vue?9264:1)
    at Module../src/renderer/components/UpdateWindow/index.vue?vue&type=script&lang=js& (renderer.js:3449)
    at __webpack_require__ (renderer.js:791)
    at fn (renderer.js:102)
    at eval (index.vue?b6ec:1)
    at Module../src/renderer/components/UpdateWindow/index.vue (renderer.js:3437)

当我删除我的代码并且我的主应用程序运行良好时。但我不知道为什么它不起作用。但是当我在主页的 index.js 中粘贴代码时,它可以工作。有什么方法可以将该代码放入 UpdateWindow.vue 中?

标签: javascriptnode.jselectron

解决方案


undefined 的无法读取属性“on”向我表明,您添加 EventListener 的对象未定义。您应该检查它是否是引用,例如在添加 EventListener 之前将变量记录到控制台。


推荐阅读