Ошибка статического файла при использовании 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
).