Nachdem ich mit AMD / RequireJS herumgespielt hatte, fragte ich mich, ob es eine gute Idee ist, UI-Module einschließlich Vorlagen und CSS zu laden, damit sie völlig unabhängig von der Webseite sind.
Es klingt gut, aber ich habe nicht gesehen, dass dies in freier Wildbahn implementiert wurde, so dass es Fallstricke geben kann.
Stellen Sie sich ein UI-Modul mit folgender Struktur vor:
myWidget
|--img
|--main.js
|--styles.css
+--template.tpl
Alles in einem Ordner. Sieht sehr gut aus.
Das Modul in main.js würde ungefähr so aussehen:
define(["TemplateEngine", "text!myWidget/template.tpl"], function(TemplateEngine, template) {
// Load CSS (Pseudo Code)
var cssUrl = "myWidget/styles.css";
appendToHead(cssUrl);
return function() {
return {
render: function(data) {
return TemplateEngine.toHtml(template, data);
}
}
}
});
Fragen sind jetzt:
- Vermisse ich etwas
- Gibt es Plugins / Konzepte, wie dies auf "Standard" Weise erreicht werden kann?
- Kann das RequireJS-Optimierungsprogramm den CSS-Teil hier verarbeiten, z. B. die Stylesheets wie bei den JS-Teilen verketten / minimieren?
- Irgendwelche Meinungen dazu? Gut oder schlecht?