2014-10-23 2 views
3

스냅 프레임 워크의 스냅 숏에서 일부 정적 파일을 제공하고 싶습니다. 어떻게해야합니까? 설명서가 명확하지 않습니다.스냅 숏의 정적 파일

나는 경로와 재료를 추가하는 방법을 알고 있지만, 나는이 문제에 붙어 :

  1. 내가이 snaplet 디렉토리에서 파일을 제공하는 serveDirectory에 전달해야?
  2. 내 스냅 샷의 Heist 템플릿에서 이러한 정적 파일을 어떻게 참조 할 수 있습니까? URL 접두사를 알지 못하기 때문에 절대적으로 URL을 사용할 수 없습니다. 결국 최종 스냅 샷이 최종 응용 프로그램에 설치됩니다. 즉, Heist 템플릿에서 스냅 숏 루트 URL에 상대적인 URL을 얻으려면 어떻게해야합니까?

답변

2

예, serveDirectory은 정적 파일을 제공하는 데 사용됩니다. 다음과 같은 경로가있을 수 있습니다.

route [("static", serveDirectory "myDir"), ...] 

템플릿에서 파일을 참조 할 때 할당 한 경로를 사용해야합니다. 따라서 파일이 myDir/foo.js 인 경우 템플릿에서 /static/foo.js으로 참조하십시오.

스냅 숏의 기본 URL을 모르면 getSnapletRootURL 기능으로 가져올 수 있습니다. 그런 다음 Heist 스플 라이스로 템플릿에서 사용할 수 있습니다.

+0

스냅 샷이'/'에 중첩되지 않았지만'/ foo /'에 있으면 어떻게 될까요? 어떻게 처리할까요? – lunaryorn

+0

위의 route 명령이 상기 스냅 렛 안에있는 경우 템플릿에 "/foo/static/foo.js"가 필요합니다. 그렇지 않으면 변경되지 않습니다. 기본 아이디어는 브라우저에 넣어야 할 URL (또는 컬/wget)을 알아 내서 페이지를 가져와 템플릿에 URL을 넣어야한다는 것입니다. – mightybyte

+0

음, 분명히 요점은 ** 정확한 접두사를 모르겠다는 것입니다. 그것은 무엇이든 될 수 있고 ** 나는 그것을 동적으로 파악해야합니다 **. – lunaryorn