Windows Universal JS PWA为何在Edge Chromium存在时仍用Edge 18引擎?
问题解答
1. 运行时版本问题的原因
你当前的Appx清单仅声明了Windows.Universal设备家族依赖,这会让系统默认调用**旧版EdgeHTML引擎(Edge 18)**作为运行时——旧版UWP应用的Web内容容器默认绑定系统自带的EdgeHTML,和你本地安装的Edge Chromium无关联。
2. 切换到Edge Chromium运行时的方法
要让PWA应用使用Edge Chromium引擎,需修改Appx清单的Dependencies部分,添加对Microsoft Edge WebView2 Runtime的依赖,可替换或补充原有配置。示例代码如下:
<Dependencies> <!-- 保留原设备家族依赖(可选,按需兼容旧系统) --> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17134.0" MaxVersionTested="10.0.18363.1139"/> <!-- 添加WebView2 Runtime依赖 --> <PackageDependency Name="Microsoft.Web.WebView2Runtime" MinVersion="1.0.1587.40" <!-- 建议使用2022年及以后的稳定版本 --> Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/> </Dependencies>
如果是纯链接式PWA打包,也可以直接用Edge浏览器自带的「安装应用」功能导出MSIX,该方式会自动配置WebView2依赖,无需手动修改清单。
3. 2022年JavaScript原生应用运行时选择建议
- Windows平台PWA/桌面应用:优先选Edge WebView2,基于Chromium引擎,支持ES2020+等最新JS标准,性能优异,且由微软自动推送更新,无需手动维护运行时版本;
- 跨平台桌面应用:
- 首选Electron:成熟稳定,基于Chromium+Node.js,支持全平台,生态丰富,适合需要调用系统API或Node.js能力的应用;
- 可选Tauri:2022年已进入稳定阶段,体积远小于Electron,基于WebKit/Chromium+Rust,安全性更高,但生态相对薄弱;
- 纯Web端PWA:无需额外运行时,直接依赖用户的现代浏览器(Chrome、Edge、Firefox等),但要做好低版本浏览器的兼容性降级处理;
- 彻底放弃旧版EdgeHTML(Edge 18):该引擎已停止维护,不支持最新JS特性,性能和安全性存在明显短板。
内容的提问来源于stack exchange,提问作者bhantol
相关产品推荐
相关产品推荐

