如何在服务器中运行飞镖?在本地主机或任何网络服务器中说?目前 google 提供了一个 dart 编辑器,它在 dartium 浏览器中执行代码。另外,即使我在服务器上运行它,其他人在 dartium 以外的浏览器中查看页面时是否可以看到它?
4 回答
您实际上可以将 Dart 作为 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();
});
});
}
这将使用端口 8080 在本地机器上启动一个 Web 服务器。它只返回“Hello, world”。
从那里您需要做的就是定义您的路线、操作等。
当您使用 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)复制到任何 Web 服务器(localhost 或其他),然后只需浏览到 .html 文件。
为了完整起见,“特殊脚本”可以在这里查看:http: //dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js
Dartium 只是一个 Chromium 浏览器,能够直接在“dart vm”中运行 dart。这加速了开发过程。在其他浏览器和您的网络服务器上使用 dart 的常用方法是:将 dart 代码编译为本机 javascript :)
http://www.dartlang.org/docs/getting-started/sdk/#frog
Frog 是编译器,它将 dart-code 编译为 javascript
这就是我将 Dart 放在 Google App Engine 上的方式,即:在浏览器/客户端运行的 Dart:
http://ambio-strong.blogspot.no/2012/07/dart-on-google-app-engine.html