我已经在电子申请上工作了几天。当我昨天完成工作时,该程序正在运行并且正常运行。我今天早上来到这里再次开始研究它,现在它突然间在程序的中途,它现在只是白屏。从最后一次工作(最后一次工作)到当前时间,我没有改变任何东西。
运行npm start
后,我没有看到任何错误记录到powershell控制台(程序也无法打包),当我使用inspect元素时,它只是说:
DevTools与页面断开连接。
重新加载页面后,DevTools将自动重新连接。
但它只是永远地坐在这个白页上。
这个页面有很多代码(531行),但我完全无法查明问题,因为没有记录错误。也就是说,我开始从我的代码中取出部分试图让它工作,我能够将其缩小到下面的代码。
我可以做些什么来修复我的申请?
这是我将其缩小到的代码,当我注释掉这段代码时,页面运行正常。
var audio = require('win-audio').speaker;
很奇怪,这是我在应用程序页面中编写的第一批代码之一,直到今天才开始工作。
我刚刚发现,如果我插入一些扬声器,该程序不再是白色屏幕。但这并不是一个很好的解决办法,因为这个程序每天会在数百台计算机上运行,可能有也可能没有扬声器。
答案 0 :(得分:1)
<强> UPDATE :: 强>
好的,我想我已修好了。尝试一下:
如果您想在任何时候检查设备是否还活着,请运行
var audio = require('win-audio').speaker;
var _vol_alive = audio.get();
if (_vol_alive === -999) {
console.log("this device is dead :-(");
}
在您的申请中。请注意,我根本没有更改API,因此不需要更改您的应用程序代码。
如果修复程序适合您,请告诉我,以便我可以为修复程序创建拉取请求。我不是这个插件的创建者,我的所有更改都是公共领域。
<强> DEPRECATED :: 强>
好的,我找到了一个适合你的方法。如果可以的话可以:
var audio = require('win-audio').speaker;
如果没有找到设备,返回-1?
所以你可以这样做:
if (audio !== -1) {
audio.set(30);
}
请给我一个简短的提示,我将发布实施路线。