启用 RCL 的 CSS 隔离以在 Blazor 服务器中工作

Nb7*_*777 4 blazor blazor-server-side

我有一个 razor 类库和使用该库的 blazor 服务器,RCL 中的每个组件都有自己的 css,在阅读了 microsoft ASP.NET Core Blazor CSS 隔离的文档后,我执行了以下操作:

  1. 在 blazor 服务器的 razor 页面中,我添加了组件:<MyComponent />
  2. 在 _Host 页面中,我添加了捆绑链接:<link href="Blazor.Components.styles.css" rel="stylesheet">

运行应用程序后,我看不到 MyComponent 的 css。

我做错了什么吗?你能给我一些建议吗?我读过这个页面,它遵循相同的方法,但适用于 Webassemble!。

谢谢。

dan*_*era 9

引用Razor 类库 (RCL) 支持文档:

当 Razor 类库 (RCL) 提供独立样式时,标记的 href 属性指向 {STATIC WEB ASSET BASE PATH}/{ASSEMBLY NAME}.bundle.scp.css,其中占位符为:

  • {STATIC WEB ASSET BASE PATH}:静态 Web 资产基本路径。
  • {ASSEMBLY NAME}:类库的程序集名称。

在以下示例中:

  • 静态Web资源基本路径是_content/ClassLib。
  • 类库的程序集名称是 ClassLib。

<link href="_content/ClassLib/ClassLib.bundle.scp.css" rel="stylesheet">

在 _Host 页面中,您应该添加类似以下内容:

<link href="_content/YourClassLib/YourClassLib.bundle.scp.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

  • 通过引用 .NET 6 中的 dll,这不起作用,位于 _Layout.cshtml &lt;link href="_content/YourClassLib/YourClassLib.bundle.scp.css" rel="stylesheet" /&gt; 中,但是,当引用为项目时,我不需要手动调用它,它可以工作,并且我可以准确地检查此路径中的文件,我是否需要在 RCL 中的 dll 中包含其他内容? (2认同)
  • 嗨@罗伯特 - 不。经过一天的会议后,我决定等待一些反馈。 (2认同)