Ошибка статического файла при использовании Ob и reflex для импорта CSS-файла

Я хочу сделать два div'а плавающими рядом, используя Обелиск. Для этого я уже задавал этот вопрос ( куда поместить файл css при использовании обелиска). Это дало ответ, что я должен поместить свои вещи в static и добавить static @filename. Однако такой подход приводит к ошибке.

Ниже вы можете увидеть минимальный пример функции внешнего интерфейса, используемой в файле frontend/src/Frontend.hs.

frontend :: Frontend (R FrontendRoute)
frontend = Frontend
    { _frontend_head = prerender_ (text "Loading..") headElement
    , _frontend_body = prerender_ (text "Loading...") bodyElement
    }

headElement :: MonadWidget t m => m ()
headElement = do
    el "title" $ text "Title"
    styleSheet $ static @"/css/cssTest.css"
        where
            styleSheet link = elAttr "link" (Map.fromList [
                    ("rel", "stylesheet"),
                    ("type", "text/css"),
                    ("href", link)
                ]) $ return ()

bodyElement :: MonadWidget t m => m ()
bodyElement = elClass "div" "container" $ do
    elClass "div" "fixed" $ do
        el "h2" $ text "Button enabled / disabled"
    elClass "div" "flex-item" $ do
        el "h2" $ text "Second paragraph next to it."

Было выдано следующее сообщение об ошибке: Не удалось вывести (StaticFile "css/cssTest.css"), возникающее из-за использования static.

1 ответ

Решение

Это сработало для меня после того, как я снял ведущий / из "/css/cssTest.css" и перезапустил ob run (при условии, что вы поместили файл в static/css/cssTest.css).

Другие вопросы по тегам