2017-09-27 121 views
0

我正在使用下面的代码来查看连接在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); 
     }); 
    } 
} 

回答

1

如果您确信navigator.usb存在,可以扩展接口,包括它的一些类型的信息:

interface Navigator { 
    usb: { 
     getDevices(): any[]; 
    } 
} 

这将解决在编译时错误(但会导致运行时错误如果usb不在那里)。

的接口需要被放置在同一个共同的根......所以如果你是一个模块中,您可能需要使用:

declare global { 
    interface Navigator { 
     usb: { 
      getDevices(): any[]; 
     } 
    } 
} 
相关问题