2012-04-28 112 views
8

如何在服务器上运行dart?说在本地或任何Web服务器?目前谷歌提供了一个在dartium浏览器中执行代码的dart编辑器。另外,即使我在服务器上运行它,其他人在除浏览器以外的浏览器中查看页面时也可以看到它?在网络服务器上运行dart

+0

参见:是否有飞镖VM可用?](http://stackoverflow.com/q/7714302/648313) – Idolon 2012-05-04 14:19:59

回答

9

当您使用Dart编辑器创建新的“Web应用程序”时,它会创建一个.html文件和一个.dart文件。 HTML文件使用标签链接到.dart文件,如:

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

编辑器还可以生成从.dart文件中的JavaScript文件,如:

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

至于一web服务器而言,这些只是静态文件,可以传送给浏览器。

该html文件包含一个指向特殊JavaScript脚本的链接,该脚本可以识别正在使用的浏览器是否具有对Dart(即Dartium)的本机支持。

  • 如果确实如此,则使用MyApp.html和MyApp.dart文件对。

  • 如果浏览器本身不支持Dart,那么特殊脚本会动态地将脚本元素更改为指向MyApp.dart.js文件,以便浏览器接收您的应用程序的JavaScript版本。

这意味着,你可以在三个文件(html的,.dart,.js文件)复制到任何网络服务器(本地主机或其他),并简单地浏览到.html文件。

为了完整起见,“特殊的脚本”在这里可以查看: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js

+0

Chris,是否可以使用JSON Dart示例http://www.dartlang.org/articles/json-web-service/由Apache或lighthttpd或nginx WebServer提供服务?顺便说一句,你有完整的代码作为一个地方? ^^ – Gero 2012-04-28 13:29:49

+0

是的,这将适用于任何通过POST和GET提供服务的Web服务器。本例中有类似的代码,用于从Web服务器发送和检索数据:https://github.com/chrisbu/dartwatch-blog-server/blob/master/client/blog.dart (此例中的服务器部分也是用飞镖写的,但它不一定是) – 2012-04-30 14:54:53

0

Dartium只是一个可以直接在“dart vm”中运行dart的Chromium浏览器。这加快了开发过程。在其他浏览器和您的网络服务器使用飞镖的常用方法是:飞镖代码编译为本地的javascript :)

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

青蛙是编译器,编译镖代码为JavaScript

+2

的问题是,(我认为)在如何镖从移动客户端(浏览器)到服务器端 – 2012-04-28 05:42:26

+0

@ om-nom-nom yups。 – gopi1410 2012-04-28 05:44:43

+0

@senk:感谢青蛙编译器。不知道这件事。 – gopi1410 2012-04-28 05:45:39

11

实际上,你可以跑镖作为Web服务器:

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(); 
    }); 
    }); 
} 

,使用本地机器上启动一个Web服务器端口8080.它只是返回“Hello,world”。

从那里,你需要做的就是定义你的路线,动作等

+1

这仅仅适用于开发或生产吗? – izolate 2014-07-28 07:53:11

-1

这是我如何把飞镖谷歌应用程序引擎,那就是:那就是在浏览器中运行的飞镖/客户端方:

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

+1

您可能想要编辑该答案,它指向一个博文,该博文本身指向示例代码。这是一个三重定向。随时ping我一个upvote时完成:) – eckes 2012-07-23 23:29:26

相关问题