React项目使用yarn安装依赖后运行提示无法找到模块hwid的解决求助
React + TypeScript 项目hwid模块找不到问题解决方案
问题根因
hwid 包默认使用 CommonJS 格式导出,无内置 TypeScript 类型声明,与项目默认的模块解析规则不匹配会触发运行/编译时报错。
修复步骤
1. 调整tsconfig.json配置
在compilerOptions节点下补充/修改以下配置:
{ "compilerOptions": { "moduleResolution": "Node", "esModuleInterop": true, "allowSyntheticDefaultImports": true } }
moduleResolution设置为Node可兼容CommonJS格式的第三方包esModuleInterop和allowSyntheticDefaultImports用于解决CommonJS模块和ES模块的导入格式兼容问题
2. 补充缺失的类型声明(编译时报错才需要做)
如果ts编译阶段就提示找不到模块,是因为hwid没有官方类型声明,手动添加声明文件即可:
- 在src目录下新建
types文件夹,新增hwid.d.ts文件,写入以下内容:
declare module 'hwid' { export default function getHWID(): Promise<string>; }
- 在tsconfig.json的
include数组中添加src/types/**/*,确保声明文件被TypeScript识别
3. 修正导入写法
使用默认导入语法引入模块,不要用命名导入:
import getHWID from 'hwid'; // 错误写法:import { getHWID } from 'hwid'
4. 重启编译服务
关闭当前运行的yarn start进程,重新启动后配置即可生效。
内容的提问来源于stack exchange,提问作者SteveB
相关产品推荐
相关产品推荐

