2016-06-30 6 views
0

Nicht sicher, ob ich hier die richtige Frage stelle, da die Suche im Web enttäuschende Ergebnisse ergab.Wie und wo eine benutzerdefinierte JavaScript-Funktion zu CouchDB hinzufügen

Ich möchte eine benutzerdefinierte und reine JavaScript-Funktion für die Verwendung in mehreren Ansichten wie eine Hash-Berechnung oder andere Dienstprogrammfunktion hinzufügen.

nämlich, wie und wo würde ich stelle die hash Funktion unten, um es (mit einem Design-Dokument), um alle meine Ansichten zur Verfügung zu stellen:

function(doc) { 
    function hash(input) { 
    return (input || 0).toString().length; 
    } 

    if(doc.username) { 
    emit(doc.username, { 
     clientId: doc.clientId, 
     username: doc.username, 
     password: doc.password, 
     hash: hash(doc.clientId) 
    }); 
    } 
} 

Obvisouly das Beispiel eine zu starke Vereinfachung, aber Sie bekommen die Idee.

Antwort

0

Sie können CommonJS Modules verwenden, um Code freizugeben.

Kurz gesagt, Sie fügen den Roh-JS-Quellcode zu Ihrem Designdokument hinzu und können von allen in diesem Zeichnungsdokument enthaltenen Ansichten geladen werden.

Wenn Sie mit der Erstellung oder Verwendung von CommonJS-Modulen nicht vertraut sind, verwendet die node.js-Community häufig CommonJS-Module. Daher gibt es eine Menge Dokumentation und Beispiele zur Syntax.

+0

aber wo oder wie ein Modul hinzufügen? Ich habe nicht im Internet gefunden, gibt es einen Ordner? oder ein Befehl zum Hinzufügen? Ich sehe das nicht auf fauxton – stackdave

+0

Der Link, den ich hinzufügte, geht zu der Dokumentation, die ein niedriges Beispiel zeigt. Sie können Tools wie [coachapp] (https://github.com/couchapp/couchapp) verwenden, um ein Verzeichnis zu Ihrem Designdokument zuzuordnen. (einschließlich Ihrer CommonJS-Module) –