201131Aug

SugarSkull: JavaScript-Modul für einfaches Routing

Routing in PHP oder JavaScript sind durch Bibliotheken wie Silex oder Sammy.js kein Problem mehr. Nach dem Vorbild von Sinatra gibt es mittlerweile viele Frameworks und Komponenten, die Routen (also URL-Pfade) direkt auf Funktionen abbilden können.
Ein kompakteres Modul dieser Art, das in JavaScript eingesetzt werden kann, stellt SugarSkull (jetzt Director) dar. Das Skript benötigt kein Framework und bietet dennoch interessante Möglichkeiten.

SugarSkull - A lightweight, full featured but very simple client side router

Wie in jeder Routing-Bibliothek können Routen mit unterschiedlichen Funktionen belegt werden. So lässt sich jeder beliebige Teil einer Route separat auswerten. Ein einfaches Beispiel, wie dies mit SugarSkull bewerkstelligt wird, sieht so aus:

  • // Gegebener Pfad: "/hallo/welt"
  • var router = Router({
  • '/hallo': {
  • '/:wert': {
  • on: function(wert) {
  • alert(wert); // Ausgabe: welt
  • }
  • }
  • }
  • }).init();

Die Dokumentation gibt Aufschluss über die weiteren Funktionalitäten des Moduls: So können auch reguläre Ausdrücke eingesetzt werden, um eine Route abzufangen. Zudem lassen sich auch gleich mehrere Funktionen auf einen Pfad abbilden, was erweiterte Strukturen ermöglicht. SugarSkull steht hier zum Download bereit. Wer eine Routing-Bibliothek benötigt, die auf das HTML5-Feature "pushState" aufbaut, sollte sich Davis.js ansehen.