使用BlazorBarcodeScanner.ZXing.JS启动时出现未定义异常如何解决?
异常触发原因
该报错是Blazor WebAssembly执行JS互操作调用时,未找到BlazorBarcodeScanner全局JS对象导致的,核心原因是你遗漏了该组件依赖的前端静态资源引入配置。
修复方案
- 找到项目的入口页面:
- WebAssembly项目对应
wwwroot/index.html - Server项目对应
Pages/_Layout.cshtml(.NET 6+)或Pages/_Host.cshtml(.NET 5及更早版本)
- WebAssembly项目对应
- 在入口页面的
<body>标签内部、blazor.webassembly.js(Server项目为blazor.server.js)的引用之前,添加如下两行JS资源引用:
<script src="_content/BlazorBarcodeScanner.ZXing.JS/zxingjs.min.js"></script> <script src="_content/BlazorBarcodeScanner.ZXing.JS/barcode-scanner.js"></script>
- 若你使用的是.NET 6及以上版本的项目,还需要在
Program.cs中注册组件服务:
builder.Services.AddBlazorBarcodeScanner();
- 清理浏览器缓存后重新编译启动项目即可解决该异常。
额外排查项
如果完成上述配置后仍报错,可优先检查两点:
- 确认安装的
BlazorBarcodeScanner.ZXing.JSNuget包版本和你的项目.NET版本兼容 - 确认
wwwroot目录下没有同名的自定义JS文件覆盖了组件自带的静态资源
内容的提问来源于stack exchange,提问作者BennoDual
相关产品推荐
相关产品推荐

