【发布时间】:2012-04-28 05:22:18
【问题描述】:
如何在服务器中运行dart?在本地主机或任何网络服务器中说?目前 google 提供了一个 dart 编辑器,它在 dartium 浏览器中执行代码。此外,即使我在服务器上运行它,其他人在 dartium 以外的浏览器中查看页面时是否可以看到它?
【问题讨论】:
如何在服务器中运行dart?在本地主机或任何网络服务器中说?目前 google 提供了一个 dart 编辑器,它在 dartium 浏览器中执行代码。此外,即使我在服务器上运行它,其他人在 dartium 以外的浏览器中查看页面时是否可以看到它?
【问题讨论】:
您实际上可以将 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
就网络服务器而言,这些只是提供给浏览器的静态文件。
该 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
【讨论】: