2012-04-28 4 views
8

서버에서 dart을 어떻게 실행합니까? localhost 또는 임의의 웹 서버에서 말하는가? 현재 Google은 dartium 브라우저에서 코드를 실행하는 다트 편집기를 제공합니다. 또한 서버에서 실행할 경우에도 dartium 이외의 브라우저에서 페이지를 보는 사람들에게 표시 될 수 있습니까?웹 서버에서 다트 실행

+0

관련 항목 : [다트 VM을 사용할 수 있습니까?] (http://stackoverflow.com/q/7714302/648313) – Idolon

답변

9

에 다트 - 코드를 컴파일 컴파일러 인에 다트-코드를 컴파일 다트 편집기를 사용하여 새 "웹 응용 프로그램"을 만들면 .html 파일과 .dart 파일이 만들어집니다. HTML 파일은 .dart 파일에 링크 태그를 사용하는 예 :

MyApp.html //contains <script type="application/dart" src="MyApp.dart"></script> 
MyApp.dart //contains dart app code. 

또한 .dart 파일에서 자바 스크립트 파일, 예를 들어 생성 할 수 있습니다 편집기 : 지금까지 A와

MyApp.dart.js //contains dart app code converted to JS 

을 웹 서버는 브라우저에 제공되는 정적 파일 일뿐입니다.

html 파일에는 사용중인 브라우저가 Dart (즉, Dartium)를 기본적으로 지원하는지 확인할 수있는 특수 JavaScript 스크립트에 대한 링크가 포함되어 있습니다.

  • 그렇다면 MyApp.html 및 MyApp.dart 파일 쌍이 사용됩니다.

  • 브라우저가 Dart를 기본적으로 지원하지 않는 경우 특수 스크립트는 스크립트 요소가 MyApp.dart.js 파일을 가리 키도록 동적으로 변경하여 브라우저가 앱의 자바 스크립트 버전을 수신하도록합니다.

이 당신이 어떤 웹 서버 (로컬 호스트 또는 기타)에 세 개의 파일 (.html 중에서, .dart,은 .js)을 복사하고, 단순히 .html 파일을 탐색 할 수 있음을 의미합니다.

완성도를 들어, "특별한 스크립트는"여기에서 볼 수 있습니다 : http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js

+0

Chris, JSON 다트 예 http://www.dartlang.org/articles/json-web-service/를 Apache 또는 lighthttpd 또는 nginx WebServer에서 서비스 할 수 있습니까? btw, 어딘가에 전체 전체 코드가 있습니까? ^^ – Gero

+0

예, POST 및 GET을 통해 서비스를 제공하는 모든 웹 서버에서 작동합니다. 이 예제에는 웹 서버에서 데이터를 보내고 가져 오는 유사한 코드가 있습니다. https://github.com/chrisbu/dartwatch-blog-server/blob/master/client/blog.dart (이 경우 서버 부분) 또한 다트로 작성되었지만 반드시 필요하지는 않습니다. –

0

Dartium은 "dart vm"에서 직접 다트를 실행하는 능력이있는 Chromium Browser입니다. 이것은 개발 프로세스를 가속화합니다. 다른 브라우저와 웹 서버에 다트를 사용하는 일반적인 방법은 다음과 같습니다 기본 자바 스크립트 :

http://www.dartlang.org/docs/getting-started/sdk/#frog

개구리는 자바 스크립트

+2

질문 (내가 생각하는)에서 다트를 이동하는 방법에 있었다 클라이언트 쪽 (브라우저)에서 서버 쪽 –

+0

@ om-nom-nom yups. – gopi1410

+0

@senk : 개구리 컴파일러에 감사드립니다. 그것에 대해 몰랐다. – gopi1410

11
당신은 실제로 웹 서버로 다트를 실행할 수 있습니다

:

import 'dart:io'; 

main() { 
    HttpServer.bind('127.0.0.1', 8080).then((server) { 
    server.listen((HttpRequest request) { 
     request.response.write('Hello, world'); 
     request.response.close(); 
    }); 
    }); 
} 

사용하여 로컬 컴퓨터에 웹 서버를 시작합니다 포트 8080. "Hello, world"를 리턴합니다. 브라우저에서 실행되는 다트/클라이언트 :

거기에서 당신이 할 필요가

+1

이 기능은 개발 또는 생산에만 적합합니까? – izolate

-1

내가 구글 앱 엔진에 다트를 넣어하는 방법이있다, 즉 등 당신의 경로 작업을 정의한다 측면 :

http://ambio-strong.blogspot.no/2012/07/dart-on-google-app-engine.html

+1

그 답변을 편집하고 싶을 수도 있습니다.이 답변은 샘플 코드를 가리키는 blogpost를 가리 킵니다. Triple Redirection입니다. 끝낼 때 upvote 나를 위해 핑 (ping)해라. – eckes