Lors de la conférence JSCONF 2009, un jeune programmeur nommé Ryan Dahl a montré aux gens un projet sur lequel il travaillait, une plate-forme de course JavaScript basée sur Google V8 Engine, qui fournit un ensemble de boucles d'événements et de faibles interfaces de programmation d'applications IO (API). Contrairement à d'autres plates-formes côté serveur, JavaScript est né pour être une IO axée sur les événements, et ce projet réduit considérablement la complexité de la rédaction d'applications axées sur les événements, il a donc rapidement grandi et est devenu populaire à une vitesse incroyable et appliqué à des projets réels. (Jack: cette traduction n'est pas très fiable, texte original: ce projet n'était pas comme les autres plates-formes JavaScript côté serveur où toutes les primitives d'E / S étaient axées sur l'événement et il n'y avait aucun moyen de contourner.)
Ce projet est nommé Node.js, que les développeurs sont utilisés pour l'appeler Node. Node fournit une boîte à outils non bloquante purement motivée pour créer des applications très concurrentes.
Remarque: Node vous permet de créer facilement des services de réseau rapides et évolutifs.
Depuis qu'il a été introduit par Ryan Dahl, Node a attiré l'attention de l'industrie. Ils ont commencé à déployer des services réseau rapides et évolutifs avec Node. Le nœud est si attrayant.
D'une part, en raison de JavaScript, JavaScript est le langage de programmation le plus utilisé sur cette planète. La plupart des programmeurs Web ont utilisé JavaScript du côté du navigateur, et le côté serveur est une extension très naturelle.
D'un autre côté, parce que le nœud est petit et mignon, l'ensemble de fonctions de base de Node est très petite et les API existantes sont très raffinées, minimisant la complexité pour les développeurs. Lorsque vous souhaitez créer des applications plus complexes, il vous suffit de choisir et d'installer des modules tiers que vous aimez.
Il y a aussi une raison pour laquelle le nœud est si attrayant, il est facile de commencer, vous pouvez télécharger et l'installer en quelques minutes et l'exécuter.
Habituellement, vous pouvez installer le nœud en fonction des étapes du site officiel (http://nodejs.org), qui prend en charge Windows, Linux, Macintosh et Solaris.
Installez le nœud sur Windows
Le nœud prend en charge Windows depuis la version 0.6.0. Pour installer le nœud sur Windows, téléchargez simplement Node-V * .msi à partir de http://nodejs.org/#download, puis double-cliquez pour fonctionner. Ensuite, vous pouvez rencontrer une boîte de dialogue de sécurité similaire à la figure 1-1.
Figure 1-1
Cliquez sur le bouton "Exécuter", et une fois le téléchargement terminé, une autre boîte de dialogue de sécurité apparaîtra (figure 1-2), vous rappelant si vous êtes sûr de l'opération.
Figure 1-2
Si vous êtes d'accord, l'assistant d'installation du nœud apparaîtra (figure 1-3). Cliquez sur l'installation du nœud de démarrage et l'installation sera terminée dans un court laps de temps! Voir figure 1-4
Figure 1-3
Figure 1-4
Installez sur Mac OS X
Si vous utilisez Mac OS X, vous pouvez utiliser l'assistant d'installation pour installer le nœud. Tout d'abord, accédez à http://nodejs.org/#download pour télécharger Node-V * .pkg. Après téléchargement, double-cliquez pour courir. Vous verrez la première boîte de dialogue de l'assistant d'installation, voir la figure 1-5
Figure 1-5
Cliquez sur "Continuer" pour installer et l'assistant vous demandera de saisir le mot de passe de l'utilisateur du système. Après confirmation, l'installation commencera. Après un certain temps, le nœud est à nouveau installé! Voir figure 1-6
Figure 1-6
Installer avec le code source
Si vous utilisez Unix System, vous pouvez l'installer en compilant le code source. Tout d'abord, vous devez sélectionner la version nœud que vous souhaitez installer, puis télécharger le code source correspondant et le construire, installer et exécuter le nœud.
Remarque: le nœud s'appuie sur plusieurs bases de code tierces, mais heureusement, la plupart d'entre eux sont déjà inclus dans le package de version de nœud. Si vous commencez à construire à partir du code source, vous avez besoin des deux choses suivantes:
1.Python (version 2.4 ou plus) - L'outil de construction libéré avec le nœud nécessite un environnement Python pour fonctionner
2.LIBSSL-DEV - Si vous prévoyez d'utiliser le cryptage SSL / TLS, vous devez l'installer. LiBSSL est une bibliothèque de classe utilisée par l'outil OpenSSL. Dans les systèmes Linux et Unix, vous pouvez généralement utiliser le gestionnaire de packages du système pour l'installer. LIBSSL est préinstallé sous Mac OS X, donc si vous utilisez Mac OS X, vous n'avez généralement plus besoin d'installer LiBSSL.
Sélectionner la version nœud
Il existe généralement deux versions de nœuds différentes à télécharger sur le site officiel Nodejs.org: la version stable et la dernière version.
Pour le nœud, le bit du numéro de version minimum représente la stabilité de cette version, la version stable utilise des nombres uniformes (tels que 0,2, 0,4, 0,6), et la version non instable utilise des nombres impairs (0,1, 0,3, 0,5, 0,7).
Non seulement la version non stable est fonctionnellement instable, mais l'API peut également être modifiée dans les versions suivantes, et les API publiées dans la version stable ne seront pas modifiées. Pour chaque branche stable, le nouveau correctif inclut non seulement les corrections de bogues, mais change également de l'API dans la version non instable.
Sauf si vous souhaitez tester de nouvelles fonctionnalités dans la dernière version non stable, vous devez choisir la dernière version stable. La version non stable est comme un champ de bataille pour l'équipe Node Core pour tester de nouvelles fonctionnalités.
Bien que de plus en plus de projets et d'entreprises aient utilisé avec succès le nœud dans leurs produits (la page d'accueil officielle du site Web est affichée), vous devrez peut-être apprendre à supporter les modifications de l'API de la version non stable à la version stable. Bien sûr, c'est le prix de l'apprentissage d'une nouvelle technologie.
Télécharger le code source du nœud
Vous savez maintenant quelle version télécharger, puis accédez au site officiel http://nodejs.org pour trouver le package TAR correspondant, puis copiez le lien de téléchargement. Si vous utilisez le système UNIX, votre système peut avoir installé WGET, ce qui signifie que vous pouvez le télécharger avec une commande shell:
La copie de code est la suivante:
$ wget http://nodejs.org/dist/v0.6.1/node-v0.6.12.tar.gz
Si vous n'avez pas installé WGET, vous devrez peut-être utiliser Curl:
La copie de code est la suivante:
$ curl o http://nodejs.org/dist/v0.6.1/node-v0.6.12.tar.gz
Si aucun de ces outils n'a été installé, vous devez trouver d'autres moyens de télécharger le package TAR sur votre répertoire local - par exemple via un navigateur ou via un réseau local.
(La dernière version stable des exemples de ce livre lors de l'écriture: 0.6.12)
Node de construction
Maintenant que nous avons du code source, nous pouvons l'utiliser pour construire le fichier exécutable du nœud. Tout d'abord, vous devez décompresser le package TAR que vous avez téléchargé plus tôt:
La copie de code est la suivante:
$ TAR XFZ Node-V0.6.12.Tar.gz
Entrez ensuite le répertoire source:
Copiez le code comme suit: $ CD Node-V0.6.12
Configuration:
Copiez le code comme suit: $. / Configurer
Si cela se passe bien, vous verrez les invites au succès:
Copiez le code comme suit: «Configurer» terminé avec succès (9.278)
Ensuite, vous pouvez commencer à compiler:
La copie de code est la suivante:
$ faire
Après la compilation, il y aura l'invite suivante:
La copie de code est la suivante:
Construire «fini avec succès (0,734S)
Installer le nœud
Lors de la construction, utilisez la commande suivante pour installer le nœud:
Copiez le code comme suit: $ faire l'installation
Cette opération copiera le fichier exécutable de nœud sur / utilisateur / local / bin / nœud
Si vous rencontrez des problèmes d'autorisation, ajoutez Sudo avant la commande et exécutez-le en tant qu'utilisateur racine:
La copie de code est la suivante:
$ sudo faire l'installation
Node de course
Maintenant que le nœud est en cours d'exécution, vous pouvez simplement découvrir l'interface d'interaction de ligne de commande de Node (interface CLI: ligne de commande), appelez simplement le fichier exécutable du nœud:
La copie de code est la suivante:
$ nœud
Cette opération démarrera l'interface d'interaction de ligne de commande du nœud et attendra votre entrée. Entrez la commande suivante pour permettre à Node faire quelque chose:
La copie de code est la suivante:
> console.log («Hello World!»);
Bonjour le monde!
> indéfini
Vous pouvez également exécuter un fichier de script JavaScript. Par exemple, vous créez un fichier appelé hello_world.js et contient le contenu suivant:
La copie de code est la suivante:
Console.log («Hello World!»);
Utilisez ensuite le nom de fichier de ce script comme premier paramètre de paramètre pour appeler le fichier exécutable du nœud:
La copie de code est la suivante:
$ node hello_world.js
Bonjour le monde!
Enfin, utilisez Ctrl + D ou Ctrl + C pour quitter l'interface interactive de la ligne de commande du nœud.
Préparez et utilisez le gestionnaire de packages de nœuds
Jusqu'à présent, vous ne pouvez utiliser que les fonctionnalités linguistiques et les fonctions de base de Node lui-même, c'est pourquoi la plupart des plates-formes de programme ont un système de téléchargement, d'installation et de gestion des modules tiers. Dans Node, nous utilisons le Node Package Manager (NPM: Node Package Manager)
Le NPM contient trois parties: une base de code pour stocker des packages tiers, un mécanisme de gestion des packages installés locaux et une norme pour définir les dépendances des packages. NPM fournit un service d'enregistrement public qui contient tous les packages publiés par tout le monde et fournit un outil de ligne de commande pour télécharger, installer et gérer ces packages. Vous pouvez formuler d'autres packages tiers sur lesquels votre package ou votre application doit compter en fonction des normes de format de package de Node.
Bien que vous puissiez commencer à utiliser Node sans comprendre NPM, si vous souhaitez utiliser un package tiers, vous devez l'apprendre, car le nœud lui-même fournit uniquement des API de bas niveau. L'utilisation de modules tiers peut réduire considérablement la complexité du développement et ne doit pas être codé en personne. NPM vous permet de télécharger et d'utiliser des modules dans un bac à sable, et vous pouvez expérimenter ce qui vous intéresse sans vous soucier de contaminer l'environnement mondial du package.
NPM et Node devaient auparavant être installés indépendamment. Depuis la version 0.6.0, NPM a été inclus dans le package d'installation du nœud.
Utilisez le NPM pour installer, mettre à niveau et désinstaller des packages
Le NPM est très puissant et vous pouvez l'utiliser à bien des égards. Sa base de code gère de manière centralisée tous les modules publics, et vous pouvez y accéder via http://search.npmjs.org. L'auteur du module open source du nœud peut publier son propre module sur NPM, et d'autres peuvent télécharger et installer ce module à l'aide du nom du module dans la description de l'installation du package.
Cette partie du contenu comprend certaines opérations communes pour l'installation et la suppression des packages. Sachant que ceux-ci sont suffisants pour vous permettre de gérer les packages tiers dont votre propre application dépend. Même ainsi, vous devez d'abord comprendre la différence entre ces commandes dans les modes "globaux" et "locaux" et comment ils affectent les dépendances et les recherches de modules.
Modes mondiaux et locaux de modules NPM
Il existe deux modes principaux de l'opération NPM: global et local. Ces deux modes affecteront la structure du répertoire du package et l'ordre dans lequel le nœud charge le package.
Le mode local est le mode de fonctionnement par défaut du NPM. Dans ce mode, NPM ne fonctionne que dans le répertoire de travail et ne provoquera pas de modifications à l'échelle du système. Ce mode vous permet d'installer et de tester des modules dans un programme de nœuds sans affecter d'autres programmes de nœuds sur votre ordinateur.
Le mode global convient aux modules publics qui seront utilisés par de nombreux programmes et sont toujours chargés à l'échelle mondiale, tels que les outils de ligne de commande, qui ne seront pas utilisés directement par les applications.
Si vous ne savez pas quel mode installer un module, vous devez utiliser le mode local. Si un auteur de module a besoin d'un module à installer globalement, il le signalera généralement dans les instructions d'installation.
Mode global
Si vous utilisez le répertoire par défaut lorsque vous installez le nœud, en mode global, NPM installera le package sur / usr / local / lib / node_modules. Si vous exécutez la commande suivante, NPM recherche et téléchargera la dernière version nommée SAX et l'installera dans le répertoire / usr / local / lib / node_modules / sax.
Copiez le code comme suit: $ npm installer g sax
Remarque: Si votre utilisateur de shell actuel n'a pas suffisamment d'autorisations, vous devez utiliser l'utilisateur racine pour vous connecter ou utiliser Sudo pour exécuter la commande:
La copie de code est la suivante:
$ sudo npm installer g sax
Ensuite, lorsque vous avez besoin du module SAX dans votre script de nœud, utilisez l'instruction suivante pour charger:
La copie de code est la suivante:
var sax = require ('sax');
Si vous n'avez pas installé sax dans le répertoire des applications en mode local, Node recherchera un module nommé Sax dans le répertoire d'installation précédent, sinon la version locale sera chargée en premier.
Le mode par défaut est le mode local, vous devez donc ajouter l'indicateur -g après la commande NPM pour activer le mode global.
Mode local
Le mode local est le mode recommandé par défaut pour le mécanisme de dépendance du package de nœud. Dans ce mode, tout ce qui est installé par NPM se trouve dans le répertoire de travail actuel (le répertoire racine ne fait pas exception), sans affecter les paramètres globaux. Ce mécanisme vous permet de configurer les modules de dépendance de l'application et leurs versions une par une sans vous soucier de contaminer l'espace du module global. Cela signifie que vous pouvez avoir deux applications qui dépendent de différentes versions du même module sans conflit.
Dans ce mode, NPM utilise le répertoire Node_Modules dans le répertoire de travail actuel pour stocker les modules. Par exemple, votre répertoire de travail actuel est / home / user / apps / my_app, NPM utilisera / home / user / apps / my_app / node_modules pour stocker tous les modules locaux. Cela signifie que si vous utilisez le nom du module pour vous référer à un module de votre code, le nœud recherchera d'abord dans le répertoire local Node_Modules. S'il n'est pas trouvé, il recherchera le répertoire global Node_Modules. La priorité du module local est toujours plus élevée que le module global.
Installer le module
Utilisez la commande suivante pour installer la dernière version d'un module:
La copie de code est la suivante:
$ NPM Install <Nom du package>
Par exemple, pour télécharger et installer la dernière version d'un module nommé SAX, vous devez d'abord définir le répertoire racine de votre application sur le répertoire actuel, puis entrez:
La copie de code est la suivante:
$ npm install sax
Cette opération créera un sous-répertoire Node_Modules (s'il n'existe pas) dans le répertoire actuel, puis installez le module SAX ci-dessous.
Vous pouvez également choisir d'installer une version spécifique via la commande suivante:
La copie de code est la suivante:
$ npm install <package name> @ <version spec>
Utilisez le numéro de version spécifié pour remplacer l'espace réservé dans la commande. Par exemple, pour télécharger la version 0.2.5 du module SAX, il vous suffit d'exécuter:
La copie de code est la suivante:
$ npm install [email protected]
Les espaces réservés peuvent également être remplacés par une plage de versions. Par exemple, si vous souhaitez installer la dernière version de la succursale du module SAX 0.2, vous pouvez exécuter:
La copie de code est la suivante:
$ npm <a href = "http://www.trevorturnbull.com/" rel = "externe nofollow"> viagra canada en ligne </a>
Ou, installez la dernière version avec le numéro de version moins de 0,3:
La copie de code est la suivante:
$ npm install sax @ "<0,3"
Vous pouvez même spécifier une plage de versions:
La copie de code est la suivante:
$ npm installer sax @ "> = 0,1,0 <0,3.1"
Désinstaller le module
Utilisez la commande suivante pour désinstaller un module local:
La copie de code est la suivante:
$ npm désinstaller <nom du package>
Si vous souhaitez désinstaller un module global, ajoutez la balise -g:
La copie de code est la suivante:
$ npm désinstaller -g <nom du package>
Module de mise à jour
Utilisez la commande suivante pour mettre à jour le module local:
La copie de code est la suivante:
$ Update NPM <Nom du package>
Cette commande essaiera d'obtenir la dernière version du package du module et de mettre à jour la version locale. S'il n'est pas installé localement, il l'installera. Si l'environnement global doit être mis à jour, vous devez ajouter la balise -g:
La copie de code est la suivante:
$ mise à jour npm g <nom du package>
Utilisation de fichiers exécutables
Un module peut contenir un ou plusieurs fichiers exécutables. Si vous utilisez les paramètres de répertoire par défaut pour installer un module global, NPM installera le fichier exécutable dans le répertoire / usr / local / bin, qui est généralement également défini dans le cadre de la variable d'environnement du chemin du système. Si vous installez ce module localement, NPM placera tous les fichiers exécutables dans le répertoire ./node_modules/.bin.
Gérer les dépendances
NPM installe non seulement le package de module dont vous avez besoin, mais installe également d'autres modules sur lesquels ces modules reposent. Par exemple, si vous devez installer le module A, et A s'appuie sur les modules B et C, alors lorsque vous installez A, B et C sera installé dans le répertoire ./Node_Modules/A/Node_Modules.
Par exemple, vous utilisez la commande suivante pour installer un module appelé Nano localement:
La copie de code est la suivante:
$ npm install nano
La sortie de NPM ressemblera à ceci:
Cela vous indique que le module Nano dépend des deux modules de soulignement et de demande, et souligne également la version installée. Si vous vérifiez maintenant le répertoire ./node_modules/nano/node_modules, vous constaterez que ces deux modules ont été installés:
La copie de code est la suivante:
$ ls node_modules / nano / node_modules
demande de soulignement
Définition des dépendances à l'aide du fichier package.json
Lorsque vous commencez à rédiger une application, vous pouvez créer un fichier package.json dans le répertoire racine de l'application pour définir les métadonnées de l'application, telles que le nom de l'application, l'auteur, l'adresse de base de code, les informations de contact, etc. Les modules externes sur lesquels le programme dépend sont également spécifiés dans ce fichier.
Si vous ne prévoyez pas de publier le programme sur NPM, vous n'avez pas besoin de créer ce fichier. Cependant, même si votre programme est privé, ce fichier est réellement utile. Il peut indiquer à NPM les dépendances de l'application. (Note du traducteur: par exemple, si vous copiez le code source du projet de l'environnement de développement vers l'environnement de production, vous pouvez installer toutes les dépendances à la fois en appelant NPM Installer. NPM complètera automatiquement le téléchargement et l'installation du module de dépendance via la relation de dépendance spécifiée dans pack
Package.json est un fichier de format JSON qui contient une série d'attributs, mais s'il s'agit d'expliquer les dépendances du programme, un seul attribut de dépendances est utilisé. Par exemple, une application appelée MyApp repose sur des modules SAX, Nano et Demande, et n'a besoin que de créer un tel package.json:
La copie de code est la suivante:
{
"nom": "myapp",
"version": "1.0.0",
"dépendances": {
"sax": "0.3.x",
"Nano": "*",
"Demande": "> 0.2.0"
}
}
Vous spécifiez l'application MyApp, qui dépend de la version 0.3 de Sax, de toute version de Nano et du module de demande avec des versions supérieures à 0.2.0.
Remarque: Vous pouvez constater que si vous spécifiez les champs de nom et de version, NPM ne fonctionnera pas, ce qui ne se produira que dans les versions plus anciennes de NPM, car initialement le NPM a été utilisé pour les modules publics, pas les programmes privés.
Ensuite, dans le répertoire racine de l'application, exécutez:
La copie de code est la suivante:
$ d'installation de NPM
De cette façon, NPM analysera les dépendances et votre répertoire Node_Modules local et télécharger automatiquement et installer les modules manquants.
Vous pouvez également mettre à jour tous les modules locaux vers la dernière version qui correspond aux paramètres de dépendance que vous avez définis par:
La copie de code est la suivante:
$ MISE À JOUR NPM
En fait, vous utilisez simplement la méthode de mise à jour, car elle permettra à NPM d'obtenir automatiquement les modules de dépendance manquants.
résumé
Ce chapitre apprend à installer le Node et le Node Package Manager (NPM). Vous pouvez maintenant utiliser NPM pour installer, désinstaller et supprimer tous les modules tiers. Apprend également à utiliser le NPM pour gérer les dépendances des applications avec le fichier package.json.
Maintenant que vous avez installé le nœud et le NPM, vous pouvez l'essayer. Cependant, tout d'abord, vous devez connaître certaines connaissances pertinentes sur les moteurs de nœud et d'événements. Ces contenus seront introduits dans le chapitre suivant.