2014-09-19 3 views
1

클라이언트 및 서버 측 코드 모두로 응용 프로그램을 만들려고합니다. 서버 코드는 'bin'이라는 디렉토리에 있으며 html은 해당하는 CSS 및 dart 파일이 'web'디렉토리에 있습니다. 후자는 올바르게 반환되지만 (VirtualDirectory의 도움으로) '패키지'의 파일에 대해서는 찾을 수 없습니다. 예 : /packages/browser/dart.js서버 측 앱이 dart.js를 찾을 수 없습니다.

저는 windows-, (우분투) 리눅스 머신을 시험해 보았습니다. 나는 checked-와 unchecked-mode 둘 다 편집기에서 시작하려했다. 루트 권한으로 pub 빌드를 실행했으며 'sudo'명령 줄에서 앱을 시작했습니다. '.pub-cache'에서 브라우저 디렉토리를 볼 수는 있지만 열지 않습니다.

무엇이 여기에 있습니까?

답변

1

빈/server.dart :

import 'dart:io'; 
import 'package:http_server/http_server.dart'; 

main() { 
    HttpServer.bind(InternetAddress.ANY_IP_V4, 80).then((server) { 
    new VirtualDirectory('../web') 
     ..jailRoot = false 
     ..serve(server); 
    }); 
} 

지금 당신이

http://localhost/packages/browser/dart.js 

트릭과 dart.js에 액세스 할 수는 = 거짓 서버가 파일을 제공 할 수 있도록 jailRoot을 설정하는 것입니다 루트 디렉토리 밖에서.

+0

그리고 이것은 개발 중에 만 발생합니다. 배포를 위해 pub 빌드를 실행해야하며 생성 된 출력에는 더 이상 심볼릭 링크가 없습니다. –

+0

그게 내가 누락되었습니다 :) 감사합니다! – burktelefon