Pour transpiler du code source Dart en Javascript, il vous faut le compilateur dart2js.
Normalement, si vous avez déjà installé le sdk, dart2js devrait être prêt à l'emploi.
Seulement, j'ai rencontré moi-même des petits soucis avec. (Lors de l'installation, dart2js ne possédait pas de lien symbolique vers son fichier, ce qui empêchait bash de le trouver)
Si vous rencontrez le même problème, il vous suffit de trouver le script bash de lancement de dart2js (il devrait se trouver quelque part dans /usr/lib/dart/bin/), puis de créer un lien symbolique vers le répertoire /usr/bin/:
# ln -s /usr/lib/dart/bin/dart2js /usr/bin/
Lorsque c'est fait, vous avez le choix entre compiler votre fichier principal Dart en JS à la main, ou laisser pub s'en charger pour vous.
Je vous invite donc à installer stagehand (https://chez-oim.org/index.php/topic,1640.0.html), de créer un nouveau répertoire qui va accueillir toutes les sources de votre projet, puis de lancer la commande suivante (toujours dans le nouveau répertoire):
Une fois la commande exécutée, copiez vos sources dans le répertoire web, puis lancer la commande:
Et voilà !
A la racine de votre projet, vous verrez un nouveau répertoire nommé bin se créer, avec toutes vos sources converties en JS.
Pour Windows, installez la deuxième solution du lien donné par Songbird (https://www.dartlang.org/downloads/windows.html) ("A Dart SDK installer for Windows" en bas de page). Vous n'aurez pas de problème de fichiers introuvables.
L'installation du SDK prépare tous les chemins nécessaires à Dart.
ATTENTION !
Retirez le "$" devant chaque commande. Ce symblole est destiné à Linux, il désigne l'utilisateur courant, pas à Windows qui vous sortira une erreur si vous l'entrez.
Après avoir effectué :
stagehand web-simple
pub build
Vous risquez d'obtenir cette erreur : No pubspec.lock file found, please run "pub get" first.
Tout est dans le message.
Il suffit donc d'entrer :
Et voilà ! Cette fois ça marche.
Par contre, sous Windows, vos ressources JS se trouveront dans le dossier build\web\ accompagnées d'un index.html chargeant ces ressources JS et un index.css quasi vierge.