Maison interface Web js tutoriel Explication détaillée du répertoire de projet du package Node.js et de l'utilisation du package NPM manager_node.js

Explication détaillée du répertoire de projet du package Node.js et de l'utilisation du package NPM manager_node.js

May 16, 2016 pm 03:15 PM
javascript node node.js npm

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            # 说明文件
Copier après la connexion

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"
}

Copier après la connexion

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 :

  • Autoriser les utilisateurs à télécharger des packages tiers écrits par d'autres à partir du serveur NPM pour une utilisation locale.
  • Permet aux utilisateurs de télécharger et d'installer des programmes en ligne de commande écrits par d'autres à partir du serveur NPM pour une utilisation locale.
  • Permet aux utilisateurs de télécharger des packages ou des programmes en ligne de commande qu'ils écrivent sur le serveur NPM pour que d'autres puissent les utiliser.

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
Copier après la connexion

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 @ après le nom du package. 1 de argv via la commande suivante.

$ npm install argv@0.0.1
...
argv@0.0.1 node_modules\argv
Copier après la connexion

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"
  }
}
Copier après la connexion

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/
      ...
  ...
Copier après la connexion

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
Copier après la connexion

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
  ...

Copier après la connexion

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"   # 命令行程序名和主模块位置
  }
}
Copier après la connexion

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.

  • Utilisez npm help pour afficher l'aide détaillée d'une commande, telle que npm help install.
  • Utilisez npm install . -g dans le répertoire où se trouve package.json pour installer d'abord le programme de ligne de commande actuel localement, qui peut être utilisé pour les tests locaux avant la publication.
  • Utilisez npm update pour mettre à jour les modules correspondants dans le sous-répertoire node_modules du répertoire actuel vers la dernière version.
  • Utilisez npm update pour mettre à jour le programme de ligne de commande correspondant installé globalement vers la dernière version.
  • Utilisez npm cache clear pour vider le cache local NPM, qui est utilisé pour traiter avec les personnes qui utilisent le même numéro de version pour publier de nouvelles versions de code.
  • Utilisez npm unpublish @ pour dépublier une version du code que vous avez publiée.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Améliorer l'efficacité de la programmation : optimiser l'utilisation des packages Golang Améliorer l'efficacité de la programmation : optimiser l'utilisation des packages Golang Jan 16, 2024 am 10:46 AM

À mesure que l'intelligence artificielle et le cloud computing continuent de progresser, le développement de logiciels est devenu un élément essentiel du monde des affaires d'aujourd'hui. En tant que langage de programmation efficace et évolutif, Golang est de plus en plus privilégié par les développeurs de logiciels. Cependant, même lorsqu’ils utilisent Golang, les développeurs doivent toujours respecter les normes d’efficacité d’exécution des programmes. Dans cet article, nous nous concentrerons sur la manière d'améliorer l'efficacité de la programmation en optimisant l'utilisation des packages Golang. Et nous fournirons des exemples de code pour aider les lecteurs à mieux comprendre cela

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

See all articles