Exécution de scripts bash avec npm

Je veux essayer d'utiliser npm pour exécuter mes différentes tâches de construction pour une application web. Je sais que je peux le faire en ajoutant un scripts domaine à mon package.json comme ceci:

"scripts": {
   "build": "some build command"
},

Cela devient difficile lorsque vous avez des commandes plus complexes avec un tas d'options. Est-il possible de déplacer ces commandes vers un script bash ou quelque chose dans ce sens? Quelque chose comme:

"scripts": {
   "build": "build.sh"
},

npm run build exécuterait les commandes dans le fichier build.sh?

Lecture à travers Ce post il semble que est, mais je ne suis pas clair sur exactement où je suis censé Déposer mon fichier build.sh ou si je manque quelque chose.

26
demandé sur Mark McKelvy 2016-01-22 04:54:33

2 réponses

C'est totalement possible...

"scripts": {
   "build": "./build.sh"
},

Assurez-vous également de mettre un hachage en haut de votre fichier bash #!/usr/bin/env bash

Assurez-vous également que vous avez les autorisations pour exécuter le fichier

chmod +x ./build.sh

Enfin, la commande pour exécuter build dans npm serait

npm run build
36
répondu eblahm 2018-09-21 20:14:59

Encore Plus Simple:

je le fais régulièrement pour les one-offs et les PoC n'impliquant pas un VCS

paquet.json
{
    "scripts": {
        "ship": "rsync -avz deployable/* <some-server>:/var/www/some-site/sub-dir/"
    },
}
...
1
répondu CNSKnight 2018-07-02 18:20:05