Ich versuche NodeJS und Express zu lernen. Ich verwende das node-localstorage-Paket, um auf den lokalen Speicher zuzugreifen. Dies funktioniert, wenn Sie den Code direkt in der Funktion ähnlicheRegister Hilfsfunktionen Node.JS + Express
Routen mit/social.js
exports.index = function(req, res)
{
if (typeof localStorage === "undefined" || localStorage === null)
{
var LocalStorage = require('node-localstorage').LocalStorage;
localStorage = new LocalStorage('./scratch');
}
localStorage.setItem('myFirstKey', 'myFirstValue');
console.log(localStorage.getItem('myFirstKey'));
res.render('social/index', {title: "Start"});
}
Aber ich will diesen Code nicht immer und immer wieder in allen meinen anderen wieder schreiben Funktionen beim Zugriff auf den lokalen Speicher. Ich möchte in der Lage sein, eine Hilfsfunktion zu registrieren, auf die ich zugreifen kann, wie
var localStorage = helpers.getLocalStorage
oder etwas ähnliches.
Wie kann ich dies in NodeJS tun? Ich habe etwas über app.locals gesehen? Aber wie kann ich auf meinen Routen auf das App-Objekt zugreifen?
Ja. Ich habe etwas simillar: 'exports.getLocalStorage = function() { if (typeof local === "undefiniert" || local === null) \t { var = Localstorage erfordern ('node-local') .Lokaler Speicher; localStorage = neues LocalStorage ('./ scratch'); } Rückgabe localStorage; }; ' Würdest du deinen Weg als" Best Practice "betrachten? Ich versuche Node/Express zu lernen und ich möchte es "richtig machen", wenn Sie wissen, was ich meine. – JOSEFtw
Nun, es hängt wirklich davon ab, was Sie versuchen zu tun. Ich weiß, dass die "allgemeine Weisheit" ist, einen lib/Ordner für allgemeine Funktionen zu verwenden, wenn Sie mehrere Apps haben (wie von TJ Holowaychuk selbst empfohlen [hier] (http://vimeo.com/56166857)), aber andere bevorzugen [lokalisierte Helfer] haben (https: // github.com/madhums/nodejs-express-mongoose-demo/baum/master/test). Ich bevorzuge diese Methode, weil ich mir keine Gedanken über den Pfad zu "utils" im 'require ('utils')' machen muss (Alle anderen Methoden verwenden relative Pfade). – verybadalloc
@varybadalloc: Ich habe Zugang zu einem Node-Projekt bekommen (Node ist neu für mich) und bemerke, dass es bereits folgendes hat: require ('util') - das scheint ein existierendes Node-Paket zu sein. Es gibt keine Verbindung richtig? Wenn ja, werde ich mein Helper-Modul nur zur besseren Übersicht anders benennen. – Sean