2012-05-04 43 views
7

Bir sunucuda Dart kodu çalıştırmak için bir yol var mı, Node.js nasıl çalışır javascript veya Ruby Tercüman ruby ​​kodu çalışır? Yoksa şu anda sadece Dartium'da çalışabiliyor mu?Dart bir sunucuda nasıl çalıştırılır?

+1

bir önceki benzer soruya bakın: http://stackoverflow.com/questions/10360855/running- dart-in-a-web-server –

+0

Evet, gördüm. Ancak, yine de soruya cevap vermedi. Veya cevabı hayır gibi görünüyor ve dart kodu sadece Dartium'da çalıştırılabilir, ancak şu anda kullanılmak üzere tek başına bir sanal makine yok. Öyle mi yoksa doğru bir şekilde anlamadım mı? – snitko

+0

Bu konuyu kontrol edin: [Dart VM var mı?] (Http://stackoverflow.com/q/7714302/648313) – Idolon

cevap

9

Cevap evet.

Örneğin, aşağıdaki dosya Hello.dart:

komutuyla çalıştırın
main() => print("Hello World"); 

(mac için pencerelerde değil, aynı zamanda mevcut, linux)

dart.exe Hello.dart 

irade çıkışı

"Hello World" 

Bu çok node.js.

Ayrıca Dart Editör'den, daha sonra "Yeni> Sunucu Uygulama" ve tıklayabilirsiniz komut

yukarıdaki örnekte olduğu gibi çalışacak "çalıştırmak" komutundan bir http sunucusu çalışır this file bir göz atın hat.

Güncelleme: Bir örnek vermek gerekir Bunu şimdi a blog post yazdım, ve katedilebilen kod

+1

Blog yayınındaki posta kodu doğru: http://blog.dartwatch.com/2012/05/ Orada-say-of-been-of-olmuştur-sayılar-on.html – Helpa

+0

@ Helpa - teşekkürler - ana cevap güncellendi. –

2

Evet, Dart ile yazılmış sunucu tarafı uygulamaları çalıştırabilir. Dart projesi, soketler, HTTP sunucuları, dosyalar ve dizinler için sınıflar ve arabirimler içeren bir dart:io library sağlar.

Dart ile yazılmış basit bir HTTP sunucusu iyi bir örnek: http://www.dartlang.org/articles/io/

örnek kod:

#import('dart:io'); 

main() { 
    var server = new HttpServer(); 
    server.listen('127.0.0.1', 8080); 
    server.defaultRequestHandler = (HttpRequest request, HttpResponse response) { 
    response.outputStream.write('Hello, world'.charCodes()); 
    response.outputStream.close(); 
    }; 
} 
İlgili konular