Как отлаживать программы reflex-dom-
Поэтому я только что обнаружил эту библиотеку и подумал, что это может быть здорово для создания пользовательских интерфейсов. Вот небольшое упражнение, которое я пытался выполнить, изучая эту библиотеку. Обычно он пытается открыть каталог в локальной файловой системе и отображает все файлы в этом каталоге. Компилируется без проблем, но когда я открываю 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
1 ответ
Хорошим первым шагом в отладке проблем ghcjs является проверка консоли браузера. В этом случае вы увидите: "/: getDirectoryContents: failed (operation unsupported on this platform)"
,
Это имеет смысл. Код выполняется в браузере - не на сервере или непосредственно на клиенте. Таким образом, концепция файловой системы в целом здесь не применима.