Blazor 交互式汽车项目模板

问题描述 投票:0回答:1

我在不同的网站上阅读了很多相关内容,但我仍然不知道项目结构将是什么样子。现在我有 3 个不同的项目:

project
project.Client
project.Shared

有人说将交互式 ssr 组件保留在服务器上,并将 交互式 wasm/auto 保留在客户端上。另一方面,我聪明的网友(笑)说:

**In the Interactive Auto Blazor Web App template, the client project is indeed minimal and doesn't hold components directly. Instead, its primary role is to provide the WebAssembly runtime environment for client-side interactivity once the app transitions from server-side rendering to WebAssembly.**
.

此外,客户端项目的program.cs非常轻,这让我相信不应该有任何组件:

using Microsoft.AspNetCore.Components.WebAssembly.Hosting;

var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.Services.AddBlazorBootstrap();

await builder.Build().RunAsync();

另外,我的共享项目只包含一个 自定义数据验证属性 ,我什至不知道将其放在那里是否正确。

如您所见,我对这个模板感到非常困惑,但对我来说,如何使用 SSR 快速加载页面,然后更改为 CSR,而不是一直坚持使用一个模板,看起来很有趣。非常感谢您的帮助。

c# .net asp.net-core razor blazor
1个回答
0
投票

如果你检查服务器项目的依赖关系,你会发现它引用了“客户端项目”。
enter image description here
这意味着所有组件都可以放置在“客户端项目”中(SSR、ServerInterActive、WASM、Auto)。因为“服务器项目”总是可以使用这些引用的页面。

相比之下,这种依赖关系只是单向的:客户端项目不能使用“服务器项目”中的组件。因此,如果页面需要“客户端渲染”(WASM、自动),则必须将其放在客户端项目中。

共享项目更像是一个类库,客户端和服务器项目都引用它。

© www.soinside.com 2019 - 2024. All rights reserved.