Blazor WebAssembly从.NET 6升级到.NET 7引发JS模块错误求助
解决Blazor项目升级到.NET7后
import.meta语法错误的方案 这个错误是因为.NET 7的Blazor WebAssembly默认启用了ES模块加载机制,但页面中的脚本标签未声明为模块类型,导致浏览器无法识别import.meta语法。按以下步骤修复:
- 打开项目中的
wwwroot/index.html(Blazor WebAssembly独立项目)或Pages/_Host.cshtml(Blazor Server/WebAssembly托管项目) - 找到引用
_framework/blazor.webassembly.js的脚本标签,添加type="module"属性:<script src="_framework/blazor.webassembly.js" type="module"></script> - 若项目中有依赖Blazor模块功能的自定义脚本,确保这些脚本也添加
type="module"属性(如果需要使用ES模块语法) - 清理项目的
bin和obj目录,重新生成并运行项目
若你是从旧模板升级而来,还可以检查项目文件(.csproj)是否包含.NET 7的正确配置,确保以下属性已设置:
<TargetFramework>net7.0</TargetFramework> <UseBlazorWebAssembly>true</UseBlazorWebAssembly>
内容的提问来源于stack exchange,提问作者Nestor
相关产品推荐
相关产品推荐

