2012-05-04 127 views
7

有没有办法在服务器上运行Dart代码,类似于Node.js如何运行JavaScript或Ruby解释器运行Ruby代码?还是现在它只能在Dartium中运行?如何在服务器上运行Dart?

+1

见以前类似的问题:http://stackoverflow.com/questions/10360855/running- dart-in-a-web-server –

+0

是的,我见过它。但是,它仍然没有回答这个问题。或者,看起来答案是否定的,并且Dart代码只能在Dartium中运行,但目前没有独立的虚拟机可供使用。是这样还是我没有正确理解它? – snitko

+0

检查该主题:[有Dart虚拟机可用吗?](http://stackoverflow.com/q/7714302/648313) – Idolon

回答

9

答案是肯定的。

例如,下面的文件Hello.dart:

main() => print("Hello World"); 

与命令运行时(在Windows上的Mac,但也可用,Linux)的

dart.exe Hello.dart 

将输出

"Hello World" 

它非常像node.js.

此外,从飞镖编辑器,可以单击“新建>服务器应用程序”,然后在“运行”命令会像上面的例子

看看this file从命令运行的HTTP服务器线。

更新:我写a blog post这个现在,这应该举一个例子,并且可运行的代码

+1

在博客文章桶正确的URL:http://blog.dartwatch.com/2012/05/那里已经有数量的职位在.html – Helpa

+0

@Helpa - 谢谢 - 网址更新主要答案。 –

2

是的,你可以运行用飞镖服务器端应用程序。 Dart项目提供了一个dart:io library,其中包含套接字,HTTP服务器,文件和目录的类和接口。

写在达特一个简单的HTTP服务器的一个很好的例子:http://www.dartlang.org/articles/io/

示例代码:

#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(); 
    }; 
} 
相关问题