1
응용 프로그램 버전을 반환하는 Yesod에 GET
처리기를 작성하려고합니다.Yesod 응용 프로그램에서 Paths_ *의`version`을 사용하십시오.
{-# LANGUAGE OverloadedStrings #-}
module Handler.Version where
import qualified Data.Text as T
import Data.Version (showVersion)
import Import
import Paths_MyApp (version)
getVersionR :: Handler Value
getVersionR = return $ object
[ "version" .= T.pack (showVersion version) ]
내가 Application.hs
에서 가져 오기를 추가 :
import Handler.Version
및 routes
에서 선 : 여기
/version VersionR GET
하지만 나는 실행시 다음 오류가 발생합니다. cabal install
:
.../MyApp/dist/build/libHSMyApp-0.1.0.a(Version.o):(.text+0xda5):
undefined reference to `MyAppszm0zi1zi0_PathszuMyApp_version1_closure'
내 .cabal
파일에 누락 된 것으로 의심 되긴하지만 확실하지 않습니다. exposed-modules
섹션에 Handler.Version
을 추가했지만, 어쨌든 Paths_*
파일을 언급해야하는지 궁금합니다.
Btw를 사용하면'yesod add-handler'를 사용할 수 있으며 Yesod는 경로, 처리기 파일 추가 및 .cabal 파일에 모듈 추가를 처리합니다. – MaxGabriel