所以我发现了这个库,并认为它可能对构建UI很有帮助,这是我在学习这个库时尝试实现的一个小练习。基本上,它尝试在本地文件系统上打开一个目录,并显示该目录中的所有文件。它编译时没有任何问题,但当我打开index.html时,它只显示一个空白页面。我不知道如何调试这个程序。代码如下:
{-# LANGUAGE OverloadedStrings #-}
import Reflex.Dom
import qualified Data.Text as T
import System.Directory
import System.FilePath
import Control.Monad
import Data.List (map)
main :: IO ()
main = do
files <- getDirectoryContents "/"
let names = map (T.pack . show) files
mainWidget $ body names
body :: MonadWidget t m => [T.Text] -> m ()
body files = el "div" $ do
el "h2" $ text "Reflex File Test"
el "ul" $ do
let lables = map text files
mapM_ (el "li") lables发布于 2018-02-22 14:35:33
调试ghcjs问题的一个很好的第一步是检查浏览器控制台。在本例中,您将看到:"/: getDirectoryContents: failed (operation unsupported on this platform)"。
这是有道理的。代码在浏览器中运行,而不是在服务器上运行,或者直接在客户端上运行。因此,整个文件系统概念并不真正适用于此。
https://stackoverflow.com/questions/48919461
复制相似问题