Mehrere Versionen von node.js parallel installieren

Mit der IDE Cloud9 begann bei mir ein Problem, welches ich gar nicht gerne habe: Ich musste eine alte Version von node.js installieren. Mit dieser Vorgabe machte ich mich auf die Suche und fand dabei den Node Version Manager (NPM)  . Zunächst muss man einige Pakete installiert haben, was auf meinem Ubuntu wie folgt war: 1 sudo apt-get install openssl build-essential libssl-dev pkg-config Installiert ist NVM dann recht zackig wie auf der GitHub-Seite beschrieben....

Ausgabe der aktuellen routes von expressjs

1 2 3 4 5 6 7 8 var app = require('../app'); console.log(); app.routes.all().forEach(function(route){ console.log(' \033[90m%s \033[36m%s\033[0m', route.method.toUpperCase(), route.path); }); console.log(); process.exit(); Quelle 

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.

Heute hatte ich einen nervigen Fehler auf meinem Rechner. Ich wollte mit node-gyp  das Paket bcrypt  kompilieren, was bei mir zu folgendem Fehler führte: C:\Project\node_modules\bcrypt\build\bcrypt_lib.vcxproj(1,646): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. Die Lösung war einfach: Ich habe den Windows SDK 7.1  installiert und dabei vor allem die “Visual C++ compilers” mitinstalliert.

Plugin Mongoosastic für die Verbindung zwischen Mongoose ODM und Elasticsearch

Kurzhinweis: James Carr hat gestern ein Plugin namens Mongoosastic  für Mongoose ODM  veröffentlicht  , welches eine Verbindung eines Mongoose Models zu Elasticsearch  erlaubt. Es fügt eine neue Methode “search” in ein Model ein, welche im Hintergrund auf Elasticsearch zugreift. Die Indexierung des Models erfolgt parallel im Hintergrund. Bei Bedarf kann man dann dann auch nur bestimmte Felder indexieren lassen und über ein Feature namens “Hydration” die Daten mit Daten aus der MongoDB vervollständigen lassen....

Mongoose ODM 2.7.0 ist erschienen

Vor ein paar Tagen wurde Mongoose 2.7.0 freigegeben. Es wird von den Machern als das letzte Release von 3.0 gesehen. In diesem Release soll ein Cleanup der API erfolgen, damit diese näher an der originalen MongoDB-API ist. Daher wird jetzt als Vorbereitung in 2.7.0 schon aufgeräumt. Hier die Übersicht der veralteten (Spalte “Deprecated”) Methoden und welche Alternativen es gibt (Spalte “Alternative”): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Deprecated Alternative Query#$or Query#or Query#$nor Query#nor Query#$gt Query#gt Query#$gte Query#gte Query#$lt Query#lt Query#$lte Query#lte Query#$in Query#in Query#$nin Query#nin Query#$ne Query#ne Query#$all Query#all Query#$regex Query#regex Query#$size Query#size Query#$maxDistance Query#maxDistance Query#$within Query#within Query#$box Query#box Query#$center Query#center Query#$centerSphere Query#centerSphere Query#$slice Query#slice Query#run Query#exec Query#notEqualTo Query#notEqualTo Query#wherein Query#within Query#fields Query#select Query#asc Query#sort Query#desc Query#sort Query#only Query#select Query#exclude Query#select Query#each Query#stream MongooseArray#$push MongooseArray#push MongooseArray#$pull MongooseArray#pull MongooseArray#$pushAll MongooseArray#push MongooseArray#pushAll MongooseArray#push MongooseArray#$pullAll MongooseArray#pull MongooseArray#pullAll MongooseArray#pull MongooseArray#$unshift MongooseArray#unshift MongooseArray#$addToSet MongooseArray#addToSet Document#commit MongooseArray#markModified Mongoose#connectSet MongooseArray#connect Mongoose#createSetConnection MongooseArray#createConnection MongooseNumber#$inc removed MongooseNumber#increment removed MongooseNumber#decrement removed Die gesamte Diskussion zum Release 2....

Snippet: Anzeige aller Funktionen eines Javascript Objekts

Gerade eben habe ich auf Teufel komm raus nicht verstanden, warum eine Funktion meines Javascript-Objekts nicht korrekt funktionieren mag. Daraufhin habe ich eine möglichkeit gesucht, wie ich mir die Funktionen des Objektes “obj” ausgeben kann. Hier  wurde ich fündig und so sieht das Snippet aus: 1 2 3 4 5 6 7 var methods = []; for (var m in obj) { if (typeof obj[m] == "function" && obj.hasOwnProperty(m)) { methods....

NodeJS: Twitter Bootstrap alerts in ExpressJS einbinden mit express-messages-bootstrap

Momentan experimentiere ich mit NodeJS herum und teste dabei wie man am schnellsten eine schöne Seite produziert. Ich bin dabei auf Twitter Bootstrap  gestoßen, was eine Kombination von CSS-Eigenschaften und Javascripts darstellt, welche es erlauben schnell ein Layout zu erstellen. Zudem bietet dieses Framework auch vorgefertigte Alerts  , die dem User Nachrichten deutlich anzeigen können: Gerne wollte ich dies nun in dem MVC-Framework ExpressJS  verwenden, sodass ich daraus direkt die Alerts erstellen kann....

Nodemon - Automatischer Restart von node.js bei Dateiänderungen

Ich beschäftige mich momentan ein wenig mit node.js  . Was mich als PHP-Developer am meisten gestört hat, war dass ich bei jeder Dateiänderung node.js durchstarten muss, um das Ergebnis meiner Änderung zu sehen. Doch das Problem habe wohl nicht nur ich, soeben habe ich “ nodemon  ” gefunden, welcher eine Überwachung des aktuellen Verzeichnisses vornimmt und bei Bedarf node neu startet. Das funktioniert übrigens aber nicht auf Windows. Installiert wird er so per npm  :...