Я только что посмотрел это видео , и оно показывает хороший трюк:
- Добавьте 2 проекта в ваше решение, ServerApp и WasmApp.
- в вашем ServerApp, добавьте ссылку на WasmApp
в ServerApp._Host.cs html, измените эту строку на WasmApp.App
:
<component type="typeof(WasmApp.App)" render-mode="ServerPrerendered" />
теперь удалите все файлы .razor и полученный мертвый код из проекта ServerApp.
Теперь вы можете создавать все блестящие страницы в WasmApp, а также запускать их с помощью ServerApp. Единственное дублирование заключается в параллельном ведении _Host.cshtml
и index.html
при добавлении файлов css или js.
И видео показало дополнительную функцию, чтобы показать, что работает:
@using System.Runtime.InteropServices
<p>Env: @Environment</p>
@code{
string Environment = RuntimeInformation.IsOSPlatform(OSPlatform.Create("WEBASSEMBLY"))
? "WebAssembly"
: "Server";
}
поместите это на главной странице или в NavMenu или что-то в этом роде.