Ich verwende das Ressourcen-Plugin in Grails 2.0.1. Das Problem, das ich habe, ist, eine JavaScript-Ressource zu erhalten, die mit r: external angegeben wird, um sie nach allen anderen zuvor deklarierten Skripten mit r: require oder r: external zu platzieren. Derzeit wird die mit r: external angegebene Ressource an dem Ort ausgegeben, an dem das externe Tag r: external platziert ist.Platzierung der JS-Ressource über <r: external />
Ich habe eine Layout-Datei, die eine r enthält: require Tag einige Kernressourcen zu holen:
<html>
<head>
...
<r:require module="core" />
</head>
....
</html>
Dann wird ein APS, das ein anderes r umfasst: require-Tag, gefolgt von einem r: Außen tag:
<head>
...
<r:require module="forms" />
<r:external dir="js" file="page-specific-resource.js" /> %{-- specifying disposition="defer" has no effect --}%
....
</head>
...
Meine Erwartung ist, dass jede der JavaScript-Ressourcen, die ich aufnehmen möchte, in der verzögerten Disposition zuerst mit den Kernressourcen, dann mit den Formularressourcen und zuletzt mit der seitenspezifischen Ressource ausgegeben wird. Die tatsächlichen Ergebnisse sind, dass die Kern- und Formularressourcen wie erwartet in der verzögerten Disposition ausgegeben werden, die seitenspezifische Ressource jedoch in head ausgegeben wird, wo das externe Tag r: platziert wird (Angeben von disposition = "verschieben" scheint keine Auswirkungen zu haben)).
Ist meine Erwartung falsch oder ist das ein berechtigtes Problem? Gibt es eine andere Möglichkeit, seitenspezifische Ressourcen anzugeben (ich versuche, diese Arten von Ressourcen in der Ressource DSL zu deklarieren) und die nach allen zuvor deklarierten Ressourcen positioniert zu haben?