2017-04-10 1 views
1

Gibt es einen Artikel, der beschreibt, wie sich eine bereitgestellte Aurelia-Webanwendung von einer Anwendung unterscheidet, die lokal auf Schluck ausgeführt wird. Dies muss eine allgemeine Frage sein, die nicht nur für Aurelia gilt. Es gibt eine js-Bibliothek, die ich verwende, die den Browser hängt. Das passiert nie, wenn ich die App lokal ausführe, was mich denken lässt, dass es etwas wirklich Anderes gibt, was die bereitgestellte App nicht hat.Wie unterscheidet sich eine bereitgestellte Aurelia-Webanwendung von einer Anwendung, die lokal auf Schluck ausgeführt wird?

+1

Wenn Sie das SystemJS-Skeleton verwenden, besteht der einzige Unterschied darin, dass die bereitgestellte Version gebündelt ist, während die lokale Version nicht vorhanden ist. Stellen Sie sicher, dass Ihre Paketkonfigurationsdatei korrekt ist. –

+1

Wie @FabioLuz schon erwähnt hat - bündeln/exportieren Sie Ihre App für die Produktion? Wahrscheinlich fehlen Ihnen einige Dateien in Ihrer bereitgestellten App, obwohl diese in Ihrer Konsole einen Fehler verursachen sollten. – Tom

+0

Es scheint entweder, dass verschiedene Dateien bereitgestellt werden als die, die ich denke, oder dass sie aus irgendeinem Grund anders funktionieren. – Spiff

Antwort

2

Sie haben Recht, das ist nicht so sehr Aurelia spezifisch, aber Build-Tool-spezifisch. Wenn Sie Ihre App lokal ausführen, verwenden Sie die npm-Abhängigkeiten, die im Verzeichnis /node_modules des lokalen Dateisystems (wie CSS, Bilder usw.) installiert sind. Wenn Sie Ihre Anwendung zur Bereitstellung bündeln, müssen Sie alles bündeln, das zum Ausführen der Anwendung erforderlich ist (einschließlich Abhängigkeiten und Ressourcen).

Für jeden Bundler können Sie konfigurieren, was Sie bündeln und verschiedene Bundles erstellen möchten. Es gibt gute Erläuterungen zum Bündeln für beide Aurelia CLI project (Bundle-Konfiguration ist in aurelia_project/aurelia.json) und JSPM project (Bundle-Konfiguration ist in bundle.js).

Stellen Sie sicher, dass alle notwendigen Dateien und Module gebündelt sind. Häufig besteht das Problem nicht darin, sich selbst zu bündeln, sondern in Dingen, die nicht gebündelt werden können. Es gibt einige sehr hartnäckige Bibliotheken (zB einige Assets von Bootstrap oder einige jQuery-basierte Plugins), die nicht funktionieren, wenn sie gebündelt werden. Dann müssen Sie sie separat in die Bereitstellung einschließen. In der JSPM-Konfiguration bedeutet dies, dass Sie sie zusammen mit Bundles exportieren müssen. Export bedeutet grundsätzlich "wähle alle Dateien, die zum Ausführen der App in der Produktion verwendet werden" und diese Dateien werden im Fall von JSPM in das Verzeichnis /export kopiert. In der CLI-Installation müssen Sie die Datei copyFiles zu aurelia.json hinzufügen, um zusätzliche Dateien zu exportieren.

prüft this article auf, wie genau funktioniert die Bündelung und this one zu verstehen, was die Rolle der aurelia-Bündler im Prozess ist (Tipp: aurelia-Bündler ist ein Teil des Rahmens, der für Sie ready-to-use Gulp Aufgaben schafft).

Verwandte Themen