4
yesod init
을 사용하여 Yesod 스텁 웹 사이트를 생성하고 테스트를 위해 yesod devel
을 실행할 수있었습니다. 그러나, 나는 보통 실제 프로젝트의 소스 코드를 주 프로젝트 디렉토리의 서브 디렉토리 src
에 넣습니다. 즉, <project>.cabal
파일이 상주하는 한 레벨 아래에 있습니다. 내가 src
에 yesod 사이트를 이동 라인 hs-source-dir: src
을 추가 도당 파일을 변경할 때하위 디렉토리의 Yesod 응용 프로그램 소스
그러나, 나는 유사한 오류가있어 다음 -
src/Model.hs:12:57:
Exception when trying to run compile-time code:
config/models: openFile: does not exist (No such file or directory)
Code: persistFile "config/models"
In the second argument of `share', namely
`$(persistFile "config/models")'
In the expression:
share
[mkPersist sqlSettings, mkMigrate "migrateAll"]
($(persistFile "config/models"))
이 Yesod 것 같은데
컴파일 시간이 많이 생성 된 코드를 사용 다양한 디렉토리에 대한 경로가 하드 코딩되어야합니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 내가 이상적으로하고자하는 것은 "src"에 대한 경로를 코드베이스에 하드 코딩하지 않는 것입니다. 거기에 독단 파일 자체에서 읽을 수 있나요?
'..'를 추가하면 트릭이 수행되지 않습니다. 원본 폴더 'src'의 이름을 앞에 추가해야합니다. 그러나, 그 선택 사이의 경우 및 음자리표 파일을 구문 분석 TH를 사용하여, 나는 전 함께 갈 것 같아요. –
config 폴더를 src로 옮기고 싶다고 말하는 것입니까? –
네, 모든 것을 src로 옮깁니다. –