NPM
- Gère paquets mais ne rend pas la vie facile exécution de n'importe lequel.
NPX
- Un outil pour exécution de Paquets de nœuds.
NPX
est fourni avec NPM
version 5.2+
NPM
n'exécute pas simplement un paquet. En fait, il n'exécute aucun paquet. Si vous souhaitez exécuter un paquet à l'aide de NPM, vous devez spécifier ce paquet dans le fichier package.json
fichier.
Lorsque des exécutables sont installés via des paquets NPM, NPM établit des liens avec eux :
-
local Les installations ont des "liens" créés à
./node_modules/.bin/
répertoire.
-
mondial Les installations ont des "liens" créés à partir de la base de données globale de l'entreprise.
bin/
(par exemple /usr/local/bin
) sous Linux ou à %AppData%/npm
sur Windows.
Documentation à lire
NPM :
On peut installer un paquet localement sur un certain projet :
npm install some-package
Maintenant, disons que vous voulez que NodeJS exécute ce paquet à partir de la ligne de commande :
$ some-package
Ce qui précède échouer . Seulement installé dans le monde entier les paquets peuvent être exécutés en tapant leur nom uniquement .
Pour résoudre ce problème et faire en sorte qu'il s'exécute, vous devez saisir le chemin local :
$ ./node_modules/.bin/some-package
Techniquement, vous pouvez exécuter un paquetage installé localement en modifiant le fichier packages.json
et en ajoutant ce paquet dans le fichier scripts
section :
{
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
}
}
Ensuite, exécutez le script en utilisant npm run-script
(ou npm run
):
npm run some-package
NPX :
npx
vérifiera si <command>
existe dans $PATH
ou dans les binaires du projet local, et l'exécuter. Ainsi, pour l'exemple ci-dessus, si vous souhaitez exécuter le paquetage installé localement some-package
il suffit de taper :
npx some-package
Un autre principal l'avantage de npx
est la possibilité d'exécuter un paquet qui n'a pas été préalablement installé :
$ npx create-react-app my-app
L'exemple ci-dessus générera un react
modèle d'application sur le chemin d'accès dans lequel la commande a été exécutée, et vous permet de toujours utiliser la dernière version d'un générateur ou d'un outil de construction sans avoir à effectuer une mise à niveau à chaque fois que vous êtes sur le point de l'utiliser.
Exemple de cas d'utilisation :
npx
peut être utile dans le script
section d'un package.json
fichier, lorsqu'il n'est pas souhaité de définir une dépendance qui pourrait ne pas être couramment utilisée ou pour toute autre raison :
"scripts": {
"start": "npx gulp@3.9.1",
"serve": "npx http-server"
}
Appelez avec : npm run serve
Questions connexes :
- Comment utiliser le paquet installé localement dans node_modules ?
- NPM : comment sourcer le dossier ./node_modules/.bin ?
- Comment exécuter un fichier js à l'aide de scripts npm ?
52 votes
create-react-app
est un générateur.npx
va au internet en téléchargeant temporairement le paquet pour pouvoir l'exécuter ( np x ). Ce que vous obtenez (et voulez) est la sortie, qui est enregistrée localement, là où vous aviez exécuté la commande.0 votes
Poste connexe - Comment utiliser le paquet installé localement dans node_modules ?
1 votes
Ce post explique pourquoi utiliser les npx avec un exemple. thecodeframework.com/