2

有没有办法在创建 Razor 类库并且在那里有 js、css 时,它会自动在 Blazor 应用程序的 _Host.cshtml 中添加参考链接?

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

4

2 回答 2

1

将您的依赖项放在库的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 主机页面中执行相同的操作。

于 2019-12-18T07:45:50.757 回答
0

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

例如,如果 RCL 提供了一个“Pager”JS 对象,而 Host JS 不能这样做

let pager = new Pager()

然后,如果不编写安装脚本(我什至不确定是否可以在那里完成),就无法将 RCL 打包用于 NuGet 安装,更糟糕的是,将 JS 文件任意填充到宿主项目的未知文件结构中。

假设静态资源可以嵌入到 RCL 中,但在 JS 的情况下,似乎没有任何方法可以直接从主机自己的脚本中引用所述资源。

IMO 大大降低了 RCL 相对于视图组件或部分视图的有用性,所以....

如果有人知道如何做到这一点,我将不胜感激:-)

于 2020-01-04T21:01:56.513 回答