Blazor-在编译时生成HTML



我正在尝试创建一个自定义Razor组件,该组件将SVG文件作为参数,并在编译时将该文件渲染到我的页面中。我目前对Blazor的理解是,组件在每次页面加载时都会进行渲染。在我的特定用例中,我希望这个自定义组件在编译时呈现,并成为纯HTML标记的一部分。

关于我的具体需求的更多细节:Razor组件以图标的名称为参数,在开发框上查找包含数百个SVG图标文件的本地文件夹,打开相应的文件,并在构建步骤将内容以内联SVG的形式呈现在页面上。这是为了避免必须使用外部工具来生成数百个组件(每个图标一个(。

您可以使用代码编织器,或者更好的是使用新的源生成器来完成此操作https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/

不幸的是,您将不得不以某种方式使用外部工具生成此代码。你所要求的是所谓的脚手架,有很多方法可以做到这一点,但Blazor本身是无法做到的;生成自身";。

您可以使用T4文本模板或Gulp等工具生成剃刀文件。我个人为T4担保,它在MS堆栈中集成得非常好,而且非常成熟。Gulp在JS人群中很受欢迎,但你需要安装一堆额外的东西才能让它在VS中工作。它是Javascript,而T4是C#,已经存在于VS中。

相关内容

  • 没有找到相关文章

最新更新