Запуск дротика на веб-сервере
Как мне запустить дартс на сервере? скажем в localhost или любой веб-сервер? В настоящее время Google предоставляет редактор дротиков, который выполняет код в браузере Dartium. Кроме того, даже если мне удастся запустить его на сервере, будут ли они видны другим пользователям, просматривающим страницу в браузере, отличном от dartium?
4 ответа
Когда вы создаете новое "Веб-приложение" с помощью Dart Editor, оно создает файл.html и файл.dart. HTML-файл использует тег для ссылки на файл.dart, например:
MyApp.html //contains <script type="application/dart" src="MyApp.dart"></script>
MyApp.dart //contains dart app code.
Редактор также может сгенерировать файл javascript из файла.dart, например:
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) на любой веб-сервер (localhost или другой) и просто перейти к файлу.html.
Для полноты "специальный сценарий" можно посмотреть здесь: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js
Вы можете запустить Dart как веб-сервер:
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. Он просто возвращает "Hello, world".
Оттуда все, что вам нужно сделать, это определить ваши маршруты, действия и т. Д.
Dartium - это только Chromium Browser, способный напрямую запускать dart в "dart vm". Это ускоряет процесс разработки. Обычный способ использовать dart в других браузерах и на вашем веб-сервере: скомпилировать dart-код для нативного javascript:)
http://www.dartlang.org/docs/getting-started/sdk/
Frog - это компилятор, который компилирует dart-код в javascript
Вот как я поместил Dart в Google App Engine, то есть Dart, который работает в браузере / на стороне клиента:
http://ambio-strong.blogspot.no/2012/07/dart-on-google-app-engine.html