是否有可能在服务器端渲染Haskell前端与Ghcjs, Haste, Elm等



我认为Haskell提供了非常棒的特性。也适用于Web开发。但是,有一个特性我没有注意到。原因是谷歌索引爬虫和预渲染以提高移动设备上的性能。

是否有可能在服务器端渲染Haskell前端与Ghcjs, Haste, Elm或其他Haskell->JS编译器?

我不相信alexander已经回答了这个问题。

问题是Haskell web框架是否做JavaScript的服务器端渲染-香草JS或JS-通过Haskell (GHCJS, Fay等)。我的理解是Yesod没有预渲染JS(即,执行JS并提供结果HTML)。相反,Yesod通过hamlet(或blaze-html,或lucid,取决于您的偏好)在服务器端生成HTML。

我能找到的唯一一个用于Haskell服务器端JS渲染的库是:

https://github.com/danchoi/ngrender

但它仍处于测试阶段。

如果有其他的库/解决方案,我很乐意听到他们。这对我来说也是个问题。我想在客户端使用纯卤素,但是…SEO。

编辑:现在,最好的选择可能是使用nginx作为你的负载平衡器在你的Haskell服务器前与preender。为搜索机器人提供呈现的js页面:

https://github.com/prerender/prerender

https://gist.github.com/thoop/8165802

Stock Yesod scaffold完成HTML的服务器端渲染,并为HTML、CSS和JS定制了预处理语言。你应该能够集成Fay/Purescript没有太大的问题,因为它们已经存在了一段时间,并且yesod至少有一个支架。

对于像GHCJS集成这样的东西,你会看到stack工具在即将到来的版本中取得了很多进展(例如这个问题)。从理论上讲,这将使全栈Haskell可以实现,而不会带来太多麻烦。现在,这是我的理解,集成GHCJS是不平凡的。

最新更新