Blazor:包含主页脚本和样式的最佳方式是什么?

Har*_*rry 5 blazor blazor-server-side asp.net-blazor

在默认的 Blazor 项目中,我们获取Pages/_Host.cshtml包含应用程序 HTML 模板之类内容的文件。

最近,我创建了我的第一个 Razor 组件库 (RCL),并且它可以工作。这是它的脚本部分:

<script src="_content/Woof.Blazor/js/woof.js"></script>
<script src="_content/Woof.Blazor/js/modal.js"></script>
<script src="_content/Woof.Blazor/js/input.js"></script>
<script src="_content/Woof.Blazor/js/datatable.js"></script>
<script src="_content/Woof.Blazor/js/autocomplete.js"></script>
Run Code Online (Sandbox Code Playgroud)

这些脚本手动包含在我的应用程序中。图书馆有没有办法自动将这些文件添加到应用程序模板中?顺便说一句,如果样式表也可以自动添加,那就太好了。

编辑:我只是尝试创建一个_Scripts.cshtml文件,但没有成功。Visual Studio 显示了很多奇怪的错误,可能是由于缺少包引起的,但我不知道。使脚本部分成为局部视图?它实际上并不是 MVC 的一部分。所以可能我错了。

我想要实现的是将上面的整个脚本部分替换为一行,包括我的库中的所有预定义和预配置的脚本。

Chr*_*nty 4

没有任何可用的开箱即用的东西可以完成您\xe2\x80\x99 正在尝试的操作。原因是有时脚本和 CSS 标签的顺序确实很重要。

\n\n

例如,如果我覆盖 Bootstrap 中的一些类,但在 bootstrap 类之前包含我的 CSS 文件标记,那么它将\xe2\x80\x99 无法工作。如果 CSS 和 JS 文件是自动的,则无法控制顺序,从而导致此问题。

\n\n

从您\xe2\x80\x99re问题中,您列出了库中存在的几个脚本。我建议采取的方法是将这些脚本捆绑并缩小到一个文件中。那么您只需要在任何消费应用程序中添加一个引用即可。这也将加快消费应用程序的加载速度,它只需要加载一个脚本,而不是 5 个。

\n\n

有多种方法可以实现这一目标,但我认为目前最常见的是 webpack。快速谷歌将显示 10 多篇博客文章,其中显示了此配置,例如https://ideas.byteridge.com/webpack-minifying-your-production-bundle/。这一切都可以自动化到构建管道中,因此可以与完整的 CI/CD 一起使用。

\n