NPM
- Gérer les paquets , mais ne rend pas la vie facile d' exécuter tout.
NPX
- Un outil pour exécuter des packages Node.
NPX
est livré avec la NPM
version5.2+
NPM
en lui-même n'exécute pas n'importe quel package. en fait, il n'exécute aucun paquet. Si vous souhaitez exécuter un package à l'aide de NPM, vous devez spécifier ce package dans votre package.json
fichier.
Lorsque les exécutables sont installés via des packages NPM, NPM les relie:
- les installations locales ont des "liens" créés dans le
./node_modules/.bin/
répertoire.
- les installations globales ont des "liens" créés à partir du
bin/
répertoire global (par exemple /usr/local/bin
) sous Linux ou %AppData%/npm
sous Windows.
Documentation à lire
NPM:
On pourrait installer un paquet localement sur un certain projet:
npm install some-package
Supposons maintenant que vous souhaitez que NodeJS exécute ce package à partir de la ligne de commande:
$ some-package
Ce qui précède échouera . Seuls les packages installés globalement peuvent être exécutés en tapant uniquement leur nom .
Pour résoudre ce problème et le faire exécuter, vous devez taper le chemin local:
$ ./node_modules/.bin/some-package
Vous pouvez techniquement exécuter un package installé localement en modifiant votre packages.json
fichier et en ajoutant ce package dans la scripts
section:
{
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
}
}
Exécutez ensuite le script en utilisant npm run-script
(ou npm run
):
npm run some-package
NPX:
npx
vérifiera s'il <command>
existe dans $PATH
ou dans les binaires du projet local et l'exécutera. Ainsi, pour l'exemple ci-dessus, si vous souhaitez exécuter le package installé localement, some-package
tout ce que vous devez faire est de taper:
npx some-package
Un autre avantage majeur de npx
est la possibilité d'exécuter un package qui n'a pas été précédemment installé:
$ npx create-react-app my-app
L'exemple ci-dessus va générer un passe- react
partout d'application dans le chemin d'accès de la commande et garantit que vous utilisez toujours la dernière version d'un générateur ou d'un outil de construction sans avoir à mettre à niveau chaque fois que vous êtes sur le point de l'utiliser.
Questions connexes:
- Comment utiliser le package installé localement dans node_modules?
- NPM: comment récupérer le dossier ./node_modules/.bin?
- Comment exécuter un fichier js à l'aide de scripts npm?
create-react-app
est un générateur.npx
va sur Internet , télécharge le paquet temporairement afin qu'il puisse l'exécuter ( np x ). Ce que vous obtenez (et que vous voulez) est la sortie, qui est enregistrée localement, où vous avez exécuté la commande.