如何解决Blazor-在编译时生成HTML
我正在尝试创建一个自定义Razor组件,该组件将以SVG文件作为参数,并在编译时将该文件呈现到我的页面中 。我目前对Blazor的理解是,在每次页面加载期间都会渲染组件。在我的特定用例中,我希望在编译时呈现此自定义组件并将其作为纯HTML标记的一部分。
有关我的特定需求的更多详细信息:Razor组件,以图标的名称作为参数,在包含数百个SVG图标文件的dev框上的本地文件夹中查找,打开相应的文件,并将内容作为内联呈现到页面上SVG,在构建步骤。这是为了避免使用外部工具生成数百个组件(每个图标一个)。
解决方法
不幸的是,您将不得不使用外部工具以某种方式生成此代码。您要问的是scaffolding,有很多方法可以实现,但是Blazor本身无法“生成自身”。
您可以使用T4 Text Templates或Gulp之类的工具生成剃刀文件。我个人为T4提供担保,它已很好地集成在MS堆栈中,并且非常成熟。 Gulp在JS人群中非常受欢迎,但是您需要安装大量额外的东西才能使其在VS中工作。而且是Javascript,而T4是C#,并且已经存在于VS中。
,您可以使用代码编织器,甚至更好地使用新的Source Generators来https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。