属性“usb”在angular2 typescript项目的“Navigator”类型中不存在
问题描述:
我正在使用下面的代码来查看连接在usb端口上的设备。在编译时,当我在命令提示符中运行'ng serve'命令时,出现错误“属性usb在类型导航器上不存在”。属性“usb”在angular2 typescript项目的“Navigator”类型中不存在
ngOnInit() {
async() => {
let devices = await navigator.usb.getDevices();
devices.forEach(device => {
// Add |device| to the UI.
console.log(device);
});
}
}
答
如果您确信navigator.usb
存在,可以扩展接口,包括它的一些类型的信息:
interface Navigator {
usb: {
getDevices(): any[];
}
}
这将解决在编译时错误(但会导致运行时错误如果usb
不在那里)。
的接口需要被放置在同一个共同的根......所以如果你是一个模块中,您可能需要使用:
declare global {
interface Navigator {
usb: {
getDevices(): any[];
}
}
}