剃刀类库将对CSS,JS的引用添加到主要的Projeto母版中

时间:2019-12-18 00:49:26

标签: blazor razor-class-library

创建Razor类库时是否有方法,并且在其中有js,css,它将自动从Blazor应用程序的_Host.cshtml中添加引用链接?

简而言之,我不想将剃刀类库中Css / js的引用添加到另一个blazor应用程序主机(布局)

2 个答案:

答案 0 :(得分:0)

将依赖项放入库的 wwwroot 文件夹中。

在_Host.cshtml中添加指向库内容的CSS和脚本链接:

<!DOCTYPE html>
<html>
<head>
...
    <link href="_content/Aguacongas.AwsComponents/styles.css" rel="stylesheet" />
</head>
<body>
    <app>
    </app>
    <script src="_content/Aguacongas.AwsServices/main.bundle.js"></script>
    <script src="_framework/blazor.server.js"></script>
</body>
</html>

在此示例中,我添加了 Aguacongas.AwsComponents 库中的css和 Aguacongas.AwsServices 库中的脚本。

对于Blazor WASM,在您的 index.html 或任何其他html主机页面中执行相同的操作。

答案 1 :(得分:0)

IF 我正确地理解了这个问题,并且(出于其价值)我必须同意必须手动将RCL依赖项(例如JS模块)复制到宿主项目中,以便例如,实例化一个表面上由RCL提供的对象会破坏自包含UI库的想法。不是。

例如,如果RCL提供了一个“ Pager” JS对象,而Host JS无法做到

let pager = new Pager()

然后,如果不编写安装脚本(我甚至不知道可以在那里安装脚本),就无法打包RCL进行NuGet安装,而且更糟的是,将JS文件随意填充到宿主项目的未知文件结构中。 / p>

假定静态资源可以嵌入到RCL中,但是对于JS,似乎没有任何方法可以直接从主机自己的脚本中引用该资源。

与说“视图组件”或“部分视图”相比,IMO大大降低了RCL的实用性,所以....

如果有人知道如何实现这一目标,我将不胜感激:-)