Будет ли вывод инструмента HTML-to-Fable/Elmish также работать с ViewEngine Giraffe?
Если я вставлю вывод инструмента дизайна на основе HTML в конвертер HTML в Fable/Elmish Мангеля Максима (или Максима Мангеля?), Будет ли этот вывод работать, если он предоставлен в ViewEngine Giraffe (то есть HTML DSL)?
Внешне оба формата выглядят очень похоже, и было бы здорово, если бы это сработало.
0 ответов
Нет , это не сработает, DSL разные: Например, для этой HTML-страницы:
<!DOCTYPE html>
<html lang="en-EN">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://an_url/file.css">
<link rel="shortcut icon" type="image/png" href="/favicon.png">
</head>
<body>
<div id="elmish-app"></div>
<script>var __INIT_STATE__ = "{\"SomeValueKey\":\"SomeValue\",\"AnotherValueKey\":\"AnotherValue\"}"</script><script src="http://localhost:8080/app.js"></script>
<script src="http://localhost:8080/style.js"></script>
<script src="http://localhost:8080/vendors~app.js"></script>
<script src="http://localhost:8080/vendors~app~style.js"></script>
</body>
</html>
В
elmish
аналогом будет:
html [ Lang "en-EN" ] [
head [] [
meta [ CharSet "utf-8" ]
link [ Rel "stylesheet"; Href "https://an_url/file.css" ]
link [ Rel "shortcut icon"; Type "image/png"; Href "/favicon.png" ] ]
body [] [
div [ Id "elmish-app" ]
[ ]
script [ ] [ str "var __INIT_STATE__ = \"{\"SomeValueKey\":\"SomeValue\",\"AnotherValueKey\":\"AnotherValue\"}\"" ]
script [ Src "http://localhost:8080/app.js" ] [ ]
script [ Src "http://localhost:8080/style.js" ] [ ]
script [ Src "http://localhost:8080/vendors~app.js" ] []
script [ Src "http://localhost:8080/vendors~app~style.js"] []
]
]
в
GiraffeViewEngine
аналогом будет:
html [ _lang lang] [
head [] [
meta [ _charset "utf-8"]
meta [ _data "data-virtualpath" virtualPath ]
link [ _rel "stylesheet"; _href (sprintf "%O" portfolioUrl) ]
link [ _rel "shortcut icon"; _type "image/png"; _href "/favicon.png" ]
]
body [] [
div [_id "elmish-app"] []
script [] [ rawText "var __INIT_STATE__ = \"{\"SomeValueKey\":\"SomeValue\",\"AnotherValueKey\":\"AnotherValue\"}\"" ]
script [ _src (sprintf "%O%s" assetsBaseUrl "app.js") ] []
script [ _src (sprintf "%O%s" assetsBaseUrl "style.js") ] []
script [ _src (sprintf "%O%s" assetsBaseUrl "vendors~app.js") ] []
script [ _src (sprintf "%O%s" assetsBaseUrl "vendors~app~style.js") ] []
]
]
Тем не менее, это очень близко, вы сможете очень быстро адаптировать его, добавив
_
ко всем атрибутам и преобразовать их в нижний регистр.