web-dev-qa-db-fra.com

Comment construire un site web sur Node.js?

Je viens de commencer à plonger dans Node.js après plusieurs années dePHPprogrammation et j'aimerais construire un Node.js app pour mon prochain projet savoir comment le faire.

Existe-t-il des ressources pour un démarrage Node.js?

Merci d'avance!

23
drelkata

Vous devriez considérer Node.js comme une sorte d'Apache + PHP, ce qui signifie que vous pouvez programmer votre site Web et votre serveur Web avec Node.

Le nœud a quelques différences importantes avec votre base PHP, il est evented, asynchrone, non bloquant. Vous devez apprendre à gérer les rappels, ne bloquez pas la boucle d'événement et d'autres choses.

Ce que vous devriez faire, c’est essayer d’apprendre les bases avec Node au début. Voici quelques ressources intéressantes: https://stackoverflow.com/tags/node.js/info (mon préféré a été nodetuts .com et l'excellent livre de son auteur, Hands on Node).

Une fois que vous avez appris les bases, vous pouvez trouver Express vraiment utile comme infrastructure Web et Socket.IO si votre application est axée sur le temps réel.

29
alessioalex

Je pense que vous recherchez un noeud node.js pour créer une page Web significative avec noeud. Jetez un coup d’œil à express , qui est un framework web de nœuds. Ils offrent un tutoriel agréable mais court (sous guide). 

6
saintedlama

Vous devez exécuter Node.js sur un serveur Web. En gros, vous avez besoin d’un serveur VPS ou dédié sur lequel vous avez le contrôle total. [PHP utilise le serveur Web standard, Apache. Node.js est le serveur Web.]

Ou vous trouvez un hôte Node.js qui le fera pour vous.

4
benesch

Une autre option consiste à utiliser quelque chose comme Knockout.js (http://knockoutjs.com/) et à laisser la page passer des appels JSONP au serveur Node.js. Il est très facile d'utiliser Node pour envoyer du JSON au client, car c'est du JavaScript sur le serveur. L'utilisation d'une structure sur le client facilite la création d'une page dynamique basée sur ces données JSON.

L'inconvénient est qu'il n'y a pas de dégradation progressive pour les navigateurs plus anciens. L’avantage est un site Web extrêmement rapide avec un excellent AJAX intégré dès le début.

Voici un exemple de code permettant à Node de générer une réponse JSONP:

function writeJsonpResponse(res, jsonpcallback, obj) {
    var serialized = JSON.stringify(obj);

    res.writeHead(200, {'Content-Type': 'application/javascript'});
    res.write(jsonpcallback + '(' + serialized + ');');
    res.end();
}
1
Jason Young

Node.js est essentiellement votre serveur Web qui remplacerait Apache. Le seul hébergement que vous trouverez pour exécuter Nodejs est un serveur dédié ou une instance de cloud dans lequel vous devez installer et exécuter nodejs. Un nom de domaine doit être indiqué sur la machine sur laquelle vous exécutez node.js. Sinon, vous ne pouvez accéder au serveur que par son adresse IP, qui est dans ce cas votre hôte local. 

0
Shawn Janas