Wie fange ich mit Node.js an?

Gibt es irgendwelche guten Ressourcen, um mit Node.JS zu beginnen? Irgendwelche guten Tutorials, Blogs oder Bücher?

Natürlich habe ich die offizielle Website http://nodejs.org/ besucht, aber ich glaube nicht, dass die Dokumentation, die sie haben, ist ein guter Ausgangspunkt.

Tutorials

Kommentare (27)

Lernen Sie zunächst die Kernkonzepte von Node.js:

  • Sie werden den asynchronen Codierungsstil verstehen wollen, den Node.js fördert.
  • Async != concurrent. Verstehen Sie die Ereignisschleife von Node.js!
  • Node.js verwendet ein require() im CommonJS-Stil zum Laden von Code; es ist wahrscheinlich ein bisschen anders als das, was Sie gewohnt sind.
  • Machen Sie sich mit der Standardbibliothek von Node.js vertraut. Dann werden Sie sehen wollen, was die Gemeinschaft zu bieten hat: Der Goldstandard für die Node.js-Paketverwaltung ist NPM.
  • Es ist ein Kommandozeilen-Tool für die Verwaltung der Abhängigkeiten Ihres Projekts (http://docs.nodejitsu.com/articles/getting-started/npm/what-is-npm).
  • Stellen Sie sicher, dass Sie verstehen, wie Node.js und NPM mit Ihrem Projekt über den Ordner node_modules und package.json interagieren](http://nodejs.org/api/modules.html).
  • NPM ist auch eine Registry für so ziemlich jedes Node.js-Paket, das es gibt Schließlich werden Sie wissen wollen, was einige der beliebtesten Pakete für verschiedene Aufgaben sind: Nützliche Tools für jedes Projekt:
  • Underscore enthält so ziemlich jede Kernhilfsmethode, die Sie brauchen.
  • Lo-Dash ist ein Klon von Underscore, der darauf abzielt, schneller und anpassbarer zu sein, und der einige Funktionen hat, die Underscore nicht hat. Bestimmte Versionen davon können als Ersatz für Underscore verwendet werden.
  • TypeScript macht JavaScript wesentlich erträglicher und hält Sie gleichzeitig von Problemen fern!
  • JSHint ist ein Tool zur Code-Überprüfung, mit dem Sie viel Zeit sparen können, um dumme Fehler zu finden. Finden Sie ein Plugin für Ihren Texteditor, mit dem Sie es automatisch auf Ihren Code anwenden können. Unit Testing:
  • Mocha ist ein beliebtes Test-Framework.
  • Vows ist ein fantastischer Ansatz für asynchrones Testen, wenn auch etwas veraltet.
  • Expresso ist ein eher traditionelles Unit-Test-Framework.
  • node-unit ist ein weiteres relativ traditionelles Unit-Testing-Framework.
  • AVA ist ein neuer Test-Runner mit eingebautem Babel und führt Tests gleichzeitig aus. Web-Frameworks:
  • Express.js ist bei weitem das beliebteste Framework.
  • Koa ist ein neues Web-Framework, das von dem Team hinter Express.js entwickelt wurde und eine kleinere, ausdrucksstärkere und robustere Grundlage für Webanwendungen und APIs sein soll.
  • sails.js ist das beliebteste MVC-Framework für Node.js und basiert auf Express. Es wurde entwickelt, um das bekannte MVC-Muster von Frameworks wie Ruby on Rails zu emulieren, aber mit Unterstützung für die Anforderungen moderner Anwendungen: datengesteuerte APIs mit einer skalierbaren, serviceorientierten Architektur.
  • Meteor bündelt jQuery, Handlebars, Node.js, WebSocket, MongoDB und DDP und setzt auf Konvention statt Konfiguration, ohne ein Ruby on Rails-Klon zu sein.
  • Tower (veraltet) ist eine Abstraktion von Express.js, die darauf abzielt, ein Klon von Ruby on Rails zu sein.
  • Geddy ist ein weiterer Ansatz für Web-Frameworks.
  • RailwayJS ist ein von Ruby on Rails inspiriertes MVC-Webframework.
  • Sleek.js ist ein einfaches Web-Framework, das auf Express.js aufbaut.
  • Hapi ist ein konfigurationszentriertes Framework mit eingebauter Unterstützung für Eingabevalidierung, Caching, Authentifizierung, etc.
  • Trails ist ein modernes Webanwendungs-Framework. Es baut auf dem Stammbaum von Rails und Grails auf, um die Entwicklung zu beschleunigen, indem es sich an eine einfache, auf Konventionen basierende, API-getriebene Designphilosophie hält.
  • Danf ist ein Full-Stack-OOP-Framework, das viele Funktionen bietet, um skalierbare, wartbare, testbare und performante Anwendungen zu erstellen, und es ermöglicht, sowohl auf der Server- (Node.js) als auch auf der Client-Seite (Browser) auf die gleiche Weise zu programmieren.
  • [Derbyjs] (http://derbyjs.com/) ist ein reaktives Full-Stack-JavaScript-Framework. Sie verwenden seit langem Muster wie reaktive Programmierung und isomorphes JavaScript.
  • Loopback.io ist ein leistungsfähiges Node.js-Framework zur Erstellung von APIs und zur einfachen Anbindung an Backend-Datenquellen. Es verfügt über ein Angular.js SDK und bietet SDKs für iOS und Android. Web-Framework-Tools:
  • Jade ist die HAML/Slim der Node.js-Welt
  • EJS ist eine traditionellere Templating-Sprache.
  • Vergessen Sie nicht die Underscore's template method! Netzwerke:
  • Connect ist das Rack oder WSGI der Node.js-Welt.
  • Request ist eine sehr beliebte Bibliothek für HTTP-Anfragen.
  • socket.io ist praktisch für die Erstellung von WebSocket-Servern. Kommandozeilen-Interaktion:
  • minimist parst nur Kommandozeilenargumente.
  • Yargs ist eine mächtige Bibliothek zum Parsen von Kommandozeilenargumenten.
  • Commander.js ist eine Komplettlösung für die Erstellung von Kommandozeilenanwendungen zur einmaligen Verwendung.
  • Vorpal.js ist ein Framework für die Erstellung ausgereifter, immersiver Kommandozeilenanwendungen.
  • Chalk macht Ihre CLI-Ausgabe hübsch. Arbeit mit Streams:
  • mississipi alles, was Sie über Streams vermissen.
  • https://github.com/calvinmetcalf/streams-a-love-story
  • http://maxogden.com/node-streams.html
  • https://github.com/substack/stream-handbook
  • [Wie Streams helfen, die Leistung von Node.js zu steigern](https://www.youtube.com/watch?v=QgEuZ52OZtU)
Kommentare (9)

Benutze die Quelle, Luke.

Nein, aber im Ernst, ich fand, dass das Erstellen von Node.js aus dem Quellcode, das Ausführen der Tests und das Betrachten der Benchmarks mich auf den richtigen Weg gebracht haben. Von dort aus sind die .js-Dateien im lib-Verzeichnis ein guter Ort, um zu suchen, insbesondere die Datei http.js.

Update: Ich habe diese Antwort vor über einem Jahr geschrieben, und seitdem ist die Zahl der großartigen Ressourcen, die für das Erlernen von Node.js zur Verfügung stehen, explosionsartig gestiegen. Obwohl ich immer noch der Meinung bin, dass es sich lohnt, in den Quellcode einzutauchen, denke ich, dass es jetzt bessere Wege gibt, um anzufangen. Ich würde einige der Bücher über Node.js empfehlen, die jetzt auf den Markt kommen.

Kommentare (2)