2016-05-18 9 views
2

Ich vermisse hier etwas sehr Grundlegendes, aber ich habe eine ganze Weile damit verbracht, nach irgendeinem Begriff zu suchen, den ich mir vorstellen konnte.Probleme mit Dart/Polymer Build-Ausgabedateien/alles in index.html kompiliert/eingefügt

Ich wollte Dart und Dart.Polymer auschecken, also habe ich mir einige Beispiele aus verschiedenen Tutorials geschnappt. Ich habe es geschafft, dass alles funktioniert, aber es scheint, dass ALLE HTML/JS/CSS-Inhalte von benutzerdefinierten Polymerelementen und Papier-/Eisen -/... -Elementen zusammen mit verschiedenen anderen JavaScript-Elementen in index.html eingefügt werden. Dies führt zu meinem index.html 16.000+ Zeilen lang in Release ist Modus (20.000 in debug) in this Dart Academy Tutorial, und hier ist die entsprechende Quelle in GitHub

Das Tutorial auch Links zu einer Live-Version erstellt, die ziemlich HTML hat/Importe.

Das gleiche passiert mit dem grundlegenden Polymer-Beispielprojekt in Webstorm.

Meine verschiedene Setups:

  • Windows-10 und Ubuntu 14.04 (versuchten beide)

  • Dart SDK aktuelle stabile und Entwickler Version

  • pub build --mode: Release und Debug, von Commandline und in Webstorm
  • verschiedene Transformatoren, verschiedene Aufträge, verschiedene Abhängigkeit Versionen in pubspec.yaml

Abgesehen von der Datei index.html scheint mein Ausgabeordner gut, Elemente sind z. output_folder/build/web/packages/polymer_elements /.

Ich weiß, dass alles, was in den Index kompiliert wird, notwendig ist, aber warum generiert es keine Links zu den Dateien in dem erstellten Ordner build/polymer_elements? Ich nehme an, es ist möglich und die Live-Versionen der Beispiele, die ich gefunden habe, wurden nicht manuell bearbeitet, um alle Elemente und Skripte zu verknüpfen und sie aus index.html zu entfernen. Ich weiß, dass es die Ladezeiten wahrscheinlich nicht signifikant beeinflusst, aber es nervt mich immer noch.

Vielen Dank für jede Hilfe im Voraus, nicht schüchtern sein, darauf hinzuweisen, wenn ich etwas sehr einfach überlesen oder einfach nicht für den richtigen Begriff habe die Suche: D

Antwort

1

Diese eine Bereitstellungsoptimierung ist, ähnlich wie die Vulkanisierwerkzeug für Polymer-JS, außer dass es die Standardeinstellung in Dart ist. Html-Imports erzeugen Tonnen von zusätzlichen Anfragen, was langsamer ist, als nur die eine große Datei herunterzuladen.

1

Inline transformierten Code (JS/CSS) ist normales Verhalten und keine der Optionen zu dart2js wird dies beeinflussen.

Ich glaube, die Demo-Ausgabe verlinkt in der Anleitung, die Sie erwähnt haben, war leider nicht die tatsächliche Dart-Ausgabe. Ich glaube, https://polymer-checkout.firebaseapp.com/ ist eine Demo der ursprünglichen Polymer-Version, nicht die Dart-Version.