我正在构建剃刀类库。可以被多个应用程序使用。Razor 类库具有在 mudblazor 中开发的组件。
这是问题: Mudblazor 有静态文件(css,js)。这是由曾经消费过的客户推荐的。将来如果 mudblazor 被其他 UI 组件替换。客户可能需要更改静态文件的引用。在不更改客户端引用的情况下,我们可以做的最佳方法是什么。这意味着客户端不应更改任何内容(css、js 引用)。
我正在构建剃刀类库。可以被多个应用程序使用。Razor 类库具有在 mudblazor 中开发的组件。
这是问题: Mudblazor 有静态文件(css,js)。这是由曾经消费过的客户推荐的。将来如果 mudblazor 被其他 UI 组件替换。客户可能需要更改静态文件的引用。在不更改客户端引用的情况下,我们可以做的最佳方法是什么。这意味着客户端不应更改任何内容(css、js 引用)。
如果我正确理解了您的问题,您希望能够添加具有 JS 和 CSS 依赖项的组件,而无需在使用该组件的应用程序中添加额外的引用。因此,如果您稍后删除它们,您不需要返回并清理这些引用吗?
如果您有一个名为 MyCustomComponent 的组件,并且它有与之关联的 css 文件,但没有别的,您可以将它们命名为相同并将它们放在一起。然后,Blazor 将仅在该组件中使用它们。例如
这称为 CSS 隔离。https://docs.microsoft.com/en-us/aspnet/core/blazor/components/css-isolation?view=aspnetcore-5.0
如果您使用的是 .NET 6 和 VS2022 预览版,则最近添加了一个为 JS 添加此功能的功能。见https://github.com/dotnet/sdk/pull/19270
如果您使用的是 .NET 5,则 JS 仍需要位于 wwwroot 上,如下面的博客文章中所述
https://www.meziantou.net/javascript-isolation-in-blazor-components.htm