我需要在我的 html 中渲染 SVG 文件。
我想从嵌入文件中提取 SVG
open System.IO
open System.Reflection
[<AbstractClass; Sealed>]
type Assets private () =
static let assembly = Assembly.GetExecutingAssembly()
static let readSvgResource fileName =
use stream =
assembly.GetManifestResourceStream($"Namespace.Assets.Svg.{fileName}.svg")
use reader = new StreamReader(stream)
reader.ReadToEnd()
static member DownArrow =
readSvgResource "downArrow"
然后有一个我可以重用的好函数。这就是我陷入困境并且无法编译的地方。这个函数应该是什么?
let renderSvg color (assetsSvg: string) =
div [ _style $"color: {color}" ] [ RenderView.AsString.xmlNode assetsSvg ]
您应该将原始 SVG 文本包装在
rawText
Giraffe 函数中,然后使用模块的函数之一渲染整个 HTML 页面/片段等RenderView
。下面是一个简单的示例,它采用原始 SVG 字符串并将其写入 HTML 文档: