
Uppy 3.x 版本已废弃 debugLogger 导出成员,不再支持 import { debugLogger } from '@uppy/core';应通过实例化时传入 debug: true 配置项启用调试日志,避免 TypeScript 类型错误与运行时缺失问题。
uppy 3.x 版本已废弃 debuglogger 导出成员,不再支持 import { debuglogger } from '@uppy/core';应通过实例化时传入 debug: true 配置项启用调试日志,避免 typescript 类型错误与运行时缺失问题。
在 Uppy 的现代版本(v3.0+)中,debugLogger 不再作为命名导出(named export)存在于 @uppy/core 模块中。你遇到的 TypeScript 报错:
Module '"@uppy/core"' has no exported member 'debugLogger'
正是由于该符号已被彻底移除——它既不是默认导出,也不在 index.d.ts 的导出声明中。官方文档中部分旧示例尚未同步更新,导致开发者误用。
✅ 正确做法:通过构造选项启用调试模式
import Uppy from '@uppy/core';
import DragDrop from '@uppy/drag-drop';
import StatusBar from '@uppy/status-bar';
import XHRUpload from '@uppy/xhr-upload';
const uppy = new Uppy({
debug: true, // ✅ 启用控制台调试日志(INFO/WARN/ERROR)
autoProceed: false,
restrictions: {
maxNumberOfFiles: 5,
allowedFileTypes: ['image/*', '.pdf', '.docx'],
},
});
uppy.use(DragDrop, { target: '#drag-drop-area' });
uppy.use(StatusBar, { target: '#status-bar' });
uppy.use(XHRUpload, {
endpoint: '/api/upload',
});
⚠️ 注意事项:
debug: true会输出详细生命周期日志(如add,upload-start,upload-success),便于排查文件添加失败、上传中断等问题;无需手动导入或调用
debugLogger—— 它已由 Uppy 内部封装为统一日志门面(log level 可通过logger选项进一步定制);-
若需更精细的日志控制(例如仅记录错误),可传入自定义 logger:
import { createLogger } from '@uppy/utils'; const uppy = new Uppy({ logger: createLogger({ level: 'error' }), });
? 补充排查建议:
- 确保
@uppy/core版本 ≥ 3.0.0(你当前的^3.8.0符合要求); - 删除
node_modules和package-lock.json后重新安装,避免因缓存导致类型文件未更新; - TypeScript 编译器会自动读取
@uppy/core自带的index.d.ts,只要版本匹配,就不会再提示debugLogger相关错误。
? 总结:这不是你的代码写错了,而是 Uppy 的 API 演进所致。拥抱 debug: true 这一简洁、统一、类型安全的调试入口,既符合当前最佳实践,也兼容未来版本升级路径。










