2012-04-28 17 views
8

Come si esegue dart in un server? dì in localhost o in qualsiasi server web? Attualmente google fornisce un editor per dart che esegue il codice nel browser dartium. Inoltre, anche se riesco a eseguirlo su un server, sarà visibile agli altri che visualizzano la pagina in un browser diverso da Dartium?Esecuzione di dart in un server Web

+0

See: [c'è Dart VM disponibili?] (http://stackoverflow.com/q/7714302/648313) – Idolon

risposta

9

Quando crei una nuova "Applicazione Web" utilizzando l'Editor di Dart, crea un file .html e un file .dart. Il file HTML utilizza un tag per il collegamento al file .dart, ad esempio:

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

L'editor può anche generare un file JavaScript dal file .dart, ad esempio:

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

Per quanto riguarda un il web server è interessato, questi sono semplicemente file statici che vengono forniti al browser.

Il file html contiene un collegamento a uno script JavaScript speciale che può identificare se il browser in uso ha il supporto nativo per Dart (cioè Dartium).

  • In tal caso, viene utilizzata la coppia di file MyApp.html e MyApp.dart.

  • Se il browser non supporta Dart in modo nativo, lo script speciale modifica dinamicamente l'elemento di script in modo che punti al file MyApp.dart.js, in modo che il browser riceva la versione javascript dell'app.

Questo significa che è possibile copiare i tre file (html, js, .dart) su un qualsiasi web server (localhost o altro), e semplicemente selezionare il file .html.

Per completezza, il "copione speciale" può essere vista qui: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js

+0

Chris, sarebbe possibile utilizzare il tuo esempio Dardo JSON http://www.dartlang.org/articles/json-web-service/ per essere servito da un server Web Apache o lighthttpd o nginx? btw, hai l'intero codice completo come uno da qualche parte? ^^ – Gero

+0

Sì, funzionerebbe con qualsiasi server Web che fornisce servizi tramite POST e GET. C'è un codice simile in questo esempio che invia e recupera i dati da un server web: https://github.com/chrisbu/dartwatch-blog-server/blob/master/client/blog.dart (la parte server in questa istanza è anche scritto in dardo, ma non è necessario) –

0

Dartium è solo un browser Chromium con la possibilità di eseguire direttamente la freccetta in un "dardo vm". Questo accelera il processo di sviluppo. Il modo più comune per utilizzare dardo in altri browser e il server web è: compilare il dardo-codice javascript nativo :)

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

Frog è il compilatore, che compila dardo-codice javascript

+2

La domanda era (come penso) a come muoversi dardo da lato client (browser) sul lato server –

+0

@ om-nom-nom yups. – gopi1410

+0

@senk: grazie per il compilatore di rana. non lo sapevo. – gopi1410

11

Si può effettivamente eseguire Dart come un server 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(); 
    }); 
    }); 
} 

che avvia un web server sulla macchina locale usando porta 8080. Restituisce semplicemente "Ciao, mondo".

Da lì tutto quello che dovete fare è definire i percorsi, azioni, ecc

+1

Questo è valido solo per lo sviluppo o anche per la produzione? – izolate

-1

Ecco come ho messo Dart su Google App Engine, vale a dire: il dardo che è in esecuzione nel browser/sul client lato:

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

+1

Si potrebbe voler modificare quella risposta, che punta a un blogpost che a sua volta punta al codice di esempio. Questo è un triplo reindirizzamento. Sentiti libero di chiamarmi per un upvote quando hai finito :) – eckes

Problemi correlati