Je veux pouvoir exécuter la commande script1
dans un répertoire de projet qui s'exécutera node script1.js
.
script1.js
est un fichier dans le même répertoire. La commande doit être spécifique au répertoire du projet, ce qui signifie que si j'envoie à quelqu'un d'autre le dossier du projet, il pourra exécuter la même commande.
Jusqu'à présent, j'ai essayé d'ajouter:
"scripts": {
"script1": "node script1.js"
}
dans mon fichier package.json, mais lorsque j'essaie d'exécuter, script1
j'obtiens la sortie suivante:
zsh: command not found: script1
Quelqu'un connaît-il les étapes nécessaires pour ajouter le script mentionné ci-dessus au dossier du projet?
* Remarque: la commande ne peut pas être ajoutée au profil bash (ne peut pas être une commande spécifique à la machine)
Veuillez me faire savoir si vous avez besoin de précisions.
la source
npm run script1
?script1
qui devrait fonctionnernode script1.js
Réponses:
Scripts personnalisés
npm run-script <custom_script_name>
ou
npm run <custom_script_name>
Dans votre exemple, vous voudriez exécuter
npm run-script script1
ounpm run script1
.Voir https://docs.npmjs.com/cli/run-script
Scripts du cycle de vie
Node vous permet également d'exécuter des scripts personnalisés pour certains événements du cycle de vie, comme après
npm install
son exécution. Ceux-ci peuvent être trouvés ici .Par exemple:
Cela fonctionnerait
electron-rebuild
après unenpm install
commande.la source
npm run-script scriptname
a fonctionné pour moi, maisnpm run scriptname
pas!sails lift
qui nécessite même NPM. L'installer via NPM ajoute-t-il un script de terminal sur le système sur lequel il est installé? Sinon, comment cela se fait-il?-g
), j'ai découvert que Sails installe des scripts bash / cmdlet (par exemplesails generate api <api_name>
(bash / cmdlet en fonction de la machine sur laquelle il est installé) et ajoute des chemins globaux à ces scripts sur la machine.J'ai créé ce qui suit et cela fonctionne sur mon système. Veuillez essayer ceci:
package.json:
script1.js:
Depuis votre ligne de commande, exécutez la commande suivante:
Cas d'utilisation supplémentaire
Mon fichier package.json contient généralement les scripts suivants, qui me permettent de surveiller mes fichiers pour la dactylographie, les compilations sass et l'exécution d'un serveur.
la source
script1.js
fichier doit être une commande personnalisée d'un mot appeléescript1
"start"
enscript1
, vous pouvez utiliser n'importe quel nom que vous voulez, je préfère utiliserstart
pour définir clairement ce qui devrait fonctionnerLes étapes sont ci-dessous:
Dans package.json, ajoutez:
Créez un
bin
dossier dans le répertoire du projet et ajoutez un fichierrunScript1.js
avec le code:Exécuter
npm install shelljs
dans le terminalExécuter
npm link
dans le terminalÀ partir du terminal, vous pouvez maintenant exécuter
script1
ce qui fonctionneranode script1.js
Référence: http://blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool-with-npm
la source
Disons que dans les scripts, vous souhaitez exécuter 2 commandes avec une seule commande:
Accédez maintenant à votre terminal et exécutez-y
npm run singleCommandToRunTwoCommand
.la source
In my terminal I need to be able to type the one word command called script1 which should run node script1.js
Exemple:
Comme vous pouvez le voir, le script "build_c" construit l'application angulaire, puis supprime tous les anciens fichiers d'un répertoire, puis copie enfin les fichiers de construction de résultat.
la source
&&
- stackoverflow.com/questions/39172536/…