Répertoire des projets
Après avoir compris les connaissances ci-dessus, nous pouvons désormais planifier complètement un répertoire de projet. Prenons l'exemple de l'écriture d'un programme en ligne de commande. Généralement, nous fournirons à la fois le mode ligne de commande et le mode API, et nous utiliserons des packages tiers pour écrire du code. En plus du code, un programme complet doit également disposer de sa propre documentation et de ses propres cas de test. Par conséquent, un répertoire de projet standard ressemble à ce qui suit.
- /home/user/workspace/node-echo/ # 工程目录 - bin/ # 存放命令行相关代码 node-echo + doc/ # 存放文档 - lib/ # 存放API相关代码 echo.js - node_modules/ # 存放三方包 + argv/ + tests/ # 存放测试用例 package.json # 元数据文件 README.md # 说明文件
Le contenu de certains fichiers est le suivant :
/* bin/node-echo */ var argv = require('argv'), echo = require('../lib/echo'); console.log(echo(argv.join(' '))); /* lib/echo.js */ module.exports = function (message) { return message; }; /* package.json */ { "name": "node-echo", "main": "./lib/echo.js" }
Dans l'exemple ci-dessus, différents types de fichiers sont stockés dans des catégories et les modules sont chargés directement à l'aide de noms de packages tiers via le répertoire node_moudles. De plus, après avoir défini package.json, le répertoire node-echo peut également être utilisé comme package.
NPM
NPM est un outil de gestion de packages installé avec NodeJS. Il peut résoudre de nombreux problèmes dans le déploiement de code NodeJS. Les scénarios d'utilisation courants sont les suivants :
Comme vous pouvez le constater, NPM a établi un écosystème NodeJS, où les développeurs et les utilisateurs NodeJS peuvent communiquer entre eux. Ce qui suit décrit comment utiliser NPM dans ces trois scénarios.
Télécharger des packages tiers
Lorsque vous devez utiliser des packages tiers, vous devez d'abord savoir quels packages sont disponibles. Bien que npmjs.org fournisse un champ de recherche permettant d'effectuer une recherche en fonction du nom du package, si vous n'êtes pas sûr du nom du package tiers que vous souhaitez utiliser, veuillez demander à Baidu. Après avoir connu le nom du package, tel que argv dans l'exemple ci-dessus, vous pouvez ouvrir le terminal dans le répertoire du projet et utiliser la commande suivante pour télécharger le package tiers.
$ npm install argv ... argv@0.0.2 node_modules\argv
Après le téléchargement, le package argv est placé dans le répertoire node_modules sous le répertoire du projet, il vous suffit donc d'indiquer require('argv') dans le code sans spécifier le chemin du package tiers.
La commande ci-dessus télécharge la dernière version du package tiers par défaut. Si vous souhaitez télécharger une version spécifique, vous pouvez ajouter @
$ npm install argv@0.0.1 ... argv@0.0.1 node_modules\argv
Si vous utilisez beaucoup de packages tiers, il serait trop fastidieux d'installer chaque package avec une seule commande dans le terminal. Par conséquent, NPM a étendu les champs de package.json pour permettre d'y déclarer les dépendances de packages tiers. Par conséquent, package.json dans l’exemple ci-dessus peut être réécrit comme suit :
{ "name": "node-echo", "main": "./lib/echo.js", "dependencies": { "argv": "0.0.2" } }
Après le traitement de cette manière, vous pouvez utiliser la commande npm install pour installer par lots des packages tiers dans le répertoire du projet. Plus important encore, lorsque node-echo sera également téléchargé sur le serveur NPM à l'avenir et que d'autres téléchargeront ce package, NPM téléchargera automatiquement d'autres packages tiers dépendants en fonction des dépendances des packages tiers déclarées dans le package. Par exemple, lors de l'utilisation de la commande npm install node-echo, NPM crée automatiquement la structure de répertoires suivante.
- project/ - node_modules/ - node-echo/ - node_modules/ + argv/ ... ...
De cette façon, les utilisateurs n'ont qu'à se soucier des packages tiers qu'ils utilisent directement et n'ont pas besoin de résoudre eux-mêmes les dépendances de tous les packages.
Installer le programme de ligne de commande
La méthode de téléchargement et d'installation d'un programme en ligne de commande à partir du service NPM est similaire à celle des packages tiers. Par exemple, node-echo dans l'exemple ci-dessus fournit une méthode d'utilisation en ligne de commande. Tant que node-echo a configuré les champs package.json pertinents, les utilisateurs doivent uniquement utiliser la commande suivante pour installer le programme.
$ npm install node-echo -g
Le -g dans le paramètre indique une installation globale, donc node-echo sera installé à l'emplacement suivant par défaut, et NPM créera automatiquement le fichier de lien symbolique requis sous les systèmes Linux ou le fichier .cmd requis sous les systèmes Windows.
- /usr/local/ # Linux系统下 - lib/node_modules/ + node-echo/ ... - bin/ node-echo ... ... - %APPDATA%\npm\ # Windows系统下 - node_modules\ + node-echo\ ... node-echo.cmd ...
Code postal
Vous devez créer un compte avant d'utiliser NPM pour publier du code pour la première fois. Exécutez npm adduser dans le terminal, puis suivez les invites. Une fois le compte configuré, nous devons ensuite modifier le fichier package.json et ajouter les champs requis pour NPM. En suivant l'exemple de node-echo ci-dessus, les champs nécessaires dans package.json sont les suivants.
{ "name": "node-echo", # 包名,在NPM服务器上须要保持唯一 "version": "1.0.0", # 当前版本号 "dependencies": { # 三方包依赖,需要指定包名和版本号 "argv": "0.0.2" }, "main": "./lib/echo.js", # 入口模块位置 "bin" : { "node-echo": "./bin/node-echo" # 命令行程序名和主模块位置 } }
Après cela, nous pouvons exécuter npm submit dans le répertoire où se trouve package.json pour publier le code.
Numéro de version
Lorsque vous utilisez NPM pour télécharger et publier du code, vous entrerez en contact avec le numéro de version. NPM utilise des numéros de version sémantiques pour gérer le code. Voici une brève introduction.
Le numéro de version sémantique est divisé en trois chiffres : X.Y.Z, qui représentent respectivement le numéro de version majeure, le numéro de version mineure et le numéro de version du correctif. Lorsque le code change, le numéro de version est mis à jour selon les principes suivants.
+ Si vous corrigez simplement le bug, vous devez mettre à jour le bit Z.
+ Si une nouvelle fonction est ajoutée, mais qu'elle est rétrocompatible, le bit Y doit être mis à jour.
+ S'il y a des changements majeurs, il n'est pas rétrocompatible et X bit doit être mis à jour.
Une fois que le numéro de version a cette garantie, lors de la déclaration de dépendances de packages tiers, en plus de s'appuyer sur un numéro de version fixe, il peut également s'appuyer sur une certaine plage de numéros de version. Par exemple, « argv » : « 0.0.x » signifie que cela dépend de la dernière version d'argv de la série 0.0.x. Pour toutes les méthodes de spécification de plage de numéros de version prises en charge par NPM, veuillez consulter la documentation officielle.
Soyez intelligent
En plus des parties présentées dans ce chapitre, NPM fournit également de nombreuses fonctions, et il existe de nombreux autres champs utiles dans package.json. En plus de consulter la documentation officielle sur npmjs.org/doc/, voici quelques commandes NPM courantes.
NPM fournit de nombreuses commandes, telles que l'installation et la publication. Utilisez l'aide de npm pour afficher toutes les commandes.