创建Razor类库时是否有方法,并且在其中有js,css,它将自动从Blazor应用程序的_Host.cshtml中添加引用链接?
简而言之,我不想将剃刀类库中Css / js的引用添加到另一个blazor应用程序主机(布局)
答案 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的实用性,所以....
如果有人知道如何实现这一目标,我将不胜感激:-)