2014-07-10 2 views
2

Apache 서버에서 Dart 응용 프로그램을 서버로 보내려고합니다. 내가 아파치 구성의 mime.type 파일에Apache 서버에서 Dart WebApp 실행

application/dart dart 

을 추가했다. 여전히 오류가 발생합니다.

Resource interpreted as Script but transferred with MIME type text/plain: "http://localhost/~d022051/mastermind/web/mm-game.dart". 

또 다른 문제점은 패키지 디렉토리에 대한 링크입니다. 나는 서버의 문서 디렉토리에 심볼릭 링크를 갖고 싶지 않다. 필요한 패키지를 올바른 버전으로 복사하는 현명한 방법이 있습니까?

답변

3

이 메시지는 Apache와는 아무런 관련이 없습니다.

아파치와 함께 일하는 것은 당연한 일이지만, 아파치를 사용하여 다트 클라이언트 앱을 제공하기 위해 특정 설정이 필요하지 않다는 것을 알고있는 한. 다른 정적 HTML, CSS, JavaScript 또는 이미지 파일과 같습니다.

입력 페이지 (index.html)에 Dart 스크립트의 스크립트 태그가 포함되어 있기 때문에이 메시지가 표시됩니다. pub build을 실행하면 빌드 출력에 Dart 스크립트가 없습니다 (Chrome이 Dart를 지원하고 pub build도 Dart 출력을 생성 할 때 변경됨).

브라우저가이 (현재 중복 된) 다트 스크립트 태그를 발견하면이 출력을 생성합니다. 이 메시지를 제거하려면 your_app_package/build/web/index.html 파일의 HTML 페이지에서 스크립트 태그를 제거하십시오.

편집

transformers: 
- $dart2js: 
    'minify': true 
    commandLineOptions: ['--output-type=dart'] 

또는이 카테고리 인수가 너무 dart2dart에 효과가있는 경우 내가 테스트하지 않았습니다

commandLineOptions: ['--output-type=dart', '--categories=Server'] 

.

편집 END는

EDIT2

또한 입력 라이브러리 당 하나 개의 출력 파일을 생성하는 출력 형태 dart-multi있다. 자세한 내용은 https://code.google.com/p/dart/issues/detail?id=21616#c9을 참조하십시오.

EDIT2 END

+0

안녕하세요, dart.js 파일은 문제의 일부일뿐입니다.진짜 문제는 올바른 버전과 올바른 이름을 가진 올바른 패키지를 올바른 내부 구조와 서버의 docs 디렉토리에 대한 올바른 권한으로 얻는 것입니다. 다트 소스를 서버에 패키지로 제공하는 패키지가 있습니까? – Gregor

+0

권한으로 무엇을 의미하는지 모르겠지만 보통'pub build'를 실행 한 후에'build/web' 디렉토리 (또는 그 내용) 만 docs 디렉토리에 복사하면됩니다. –

+0

나는 Dartium에서 다트 스크립트를 실행하는 것에 대해 이야기하고 있습니다. 빌드 디렉토리 내의 패키지에는 js 파일 만 포함되며 다트는 포함되지 않습니다. 프로젝트 루트의 패키지는 .pub-cache에 대한 링크입니다. 거기 패키지는 어떤 사용자에 대해서도 x 비트를 설정하지 않았습니다. 그리고이 패키지들은 사용 된 URL의 일부가 아닌 lib 디렉토리에 다트 파일을 가지고 있습니다. – Gregor

0

패키지의 pubspec.yaml 파일에 다음 줄을 추가합니다 (이 지적 귄터 덕분에) :

transformers: 
- $dart2js: 
    'minify': true 
    commandLineOptions: ['--output-type=dart'] 
다음

실행 술집이 옵션을 사용하여 구축 - 모드 = 디버그.

이렇게하면 다트 소스와 필요한 패키지가 포함 된 "실행 가능한"다트 응용 프로그램이 만들어집니다. 그런 다음 빌드 디렉토리를 웹 서버에서 볼 수있는 위치에 복사 할 수 있습니다. Dartium 브라우저에서 해당 URL을로드하면 응용 프로그램이 시작됩니다.