You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript用libusb开发键盘灯光驱动遇device.interfaces可能未定义问题

解决TypeScript结合libusb获取USB接口时的编译错误

1. 修复代码语法错误

你代码中行尾的<-problem is here未添加注释符号,这会导致编译器解析失败,先修正这一点:

const deviceInterface = device?.interfaces[IN]; // <-problem is here

2. 确认TypeScript版本支持可选链

可选链操作符(?.)需要TypeScript 3.7及以上版本支持。如果你的TS版本过低,执行命令升级:

npm install typescript@latest --save-dev

3. 安装libusb的类型定义

若未安装@types/usb,TypeScript无法正确识别USB设备对象的类型,导致类型推断错误。执行安装命令:

npm install @types/usb --save-dev

4. 兼容旧版TypeScript的替代方案

如果不想升级TS版本,可以改用条件判断确保设备存在后再访问接口,彻底规避类型提示问题:

import * as usb from 'usb';

const VID = 0X0C45;
const PID = 0x672E;
const IN = 1;

const main = async () => {
    const device = usb.findByIds(VID, PID);
    console.log(device);
    
    if (device) {
        device.open();
        const deviceInterface = device.interfaces[IN];
        console.log(deviceInterface);
    } else {
        console.error("未找到指定的USB设备");
    }
}

main();

内容的提问来源于stack exchange,提问作者Alex Chitic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 12:08:18