Assets importieren
Assets annotations bieten einen deklarativen Ansatz zur Einbettung externer und interner Ressourcen wie JavaScript und CSS innerhalb einer App statisch. Diese Annotationen vereinfachen das Ressourcenmanagement, indem sie sicherstellen, dass Abhängigkeiten zur richtigen Ausführungsphase geladen werden, was die manuelle Konfiguration verringert und die Wartbarkeit verbessert.
Die Asset-Annotationen fügen ein Skript oder Stylesheet hinzu, das Sie bereits haben, ohne Build-Schritt. Um npm-Pakete, ein Komponentenframework wie React oder eine Stylesheet-Sprache wie SCSS einzubringen, verwenden Sie den Frontend-Bundler. Es ist der Standardweg für diese Arbeit und erledigt alles, was die Annotationen tun.
Importieren von JavaScript-Dateien
Die deklarative JavaScript-Einbindung wird durch die @JavaScript-Annotation unterstützt, die ein automatisches Laden der Abhängigkeiten ermöglicht. Die Annotation kann sowohl auf Komponenten- als auch auf App-Ebene angewendet werden.
@JavaScript("ws://js/app.js")
@JavaScript("https://cdn.example.com/library.js")
Die Annotation akzeptiert einen relativen oder vollständigen Pfad, der in die App geladen werden soll. Dies wird als <script> Tag in das DOM eingefügt. Darüber hinaus unterstützt die Annotation die folgenden Eigenschaften:
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
top | Boolean | Gibt an, ob das Skript in das oberste Fenster injiziert werden soll | false |
attributes | Object | Eine Menge von Attributen, die auf das Skript angewendet werden sollen. | {} |
Beispiel:
@JavaScript(value = "ws://my-component.js",
attributes = {@Attribute(name = "type", value = "module")})
Dateien werden nur geladen, wenn die Komponente, die die Annotation deklariert, an einen Container angehängt wird. Wenn mehrere Komponenten dieselbe Datei laden, wird die Datei nur einmal injiziert.
Injizieren von JavaScript
In einigen Fällen möchten Sie möglicherweise JavaScript-Code direkt in das DOM injizieren, anstatt einen JavaScript-Pfad bereitzustellen. Die Annotation InlineJavaScript ermöglicht es Ihnen, JavaScript-Inhalt zu injizieren.
@InlineJavaScript("alert('Ich bin ein Inline-Skript!');")
@JavaScript("context://js/app.js")
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
top | Boolean | Gibt an, ob das Skript in das oberste Fenster injiziert werden soll | false |
attributes | Object | Attribute, die auf das Skript angewendet werden sollen | {} |
id | String | Eine eindeutige Ressourcen-ID, um eine einzelne Injektion sicherzustellen | "" |
Skripte können mit InlineJavaScript mehrmals injiziert werden, es sei denn, es wird eine spezifische ID mit der id-Eigenschaft zugewiesen.