Flutter 3.10.0使用printing包PdfPreview报exports设置错误
Flutter 3.10.0 下使用 printing 包 PdfPreview 组件的报错解决方案
核心结论
需要升级printing包到适配Flutter 3.10+的版本,无需新增依赖,仅需更新现有依赖即可解决问题。
报错原因
该错误源于Flutter 3.10对Web端JS模块加载逻辑的调整,旧版本printing包的web实现(printing_web.dart)未适配此变化:
- 调用
pdfjs-dist的GlobalWorkerOptions时,无法正确获取JS模块的导出对象,触发Cannot set properties of null (setting 'exports') - 进一步导致Dart层调用空对象的
[]方法,抛出NoSuchMethodError: '[]' Dynamic call of null
解决步骤
- 打开项目根目录的
pubspec.yaml文件 - 将printing依赖的版本更新至最新稳定版(建议≥5.10.0,该版本开始适配Flutter 3.10+),示例配置:
dependencies: printing: ^5.10.0 - 执行命令更新依赖:
flutter pub get - 清理缓存并重新编译项目:
flutter clean && flutter run
替代临时方案
若暂时无法升级printing包,降级Flutter至3.7.12可维持正常运行,但不推荐长期使用——新版本Flutter包含性能优化和bug修复,升级依赖是更合理的长期方案。
内容的提问来源于stack exchange,提问作者luisv
相关产品推荐
相关产品推荐

