Appuyez sur Entrée pour voir vos résultats ou Echap pour annuler.

Node – Compiler un exécutable avec pkg

Cet article est en quelque sorte une suite de celui sur commander où j’expliquais comment créer un script en invite de commande. Ces scripts de développement permettent de sauver beaucoup de temps et d’éviter au maximum les erreurs humaines lors de l’exécution de tâches manuelles et répétitives. Aujourd’hui, on va voir comment on peut distribuer ces scripts à l’équipe en les compilant en exécutable avec pkg.

C’est quoi pkg?

Pkg se définit comme une interface d’invite de commande permettant de packager un script node pour le partager sans que les utilisateurs n’aient à installer node. De plus, c’est une façon efficace de cacher ses sources.

J’ai dit que c’était multi-plateforme? Awesome…

Créons un script

Depuis un répertoire vide, créer un nouveau projet node en exécutant npm init -y. Puis, nous allons créer un script, donc installer aussi commander avec npm i commander.

Ensuite, créons une application commander simple et testons-la.

test.js

Pour l’exécuter, affichons l’aide générée automatiquement :

Résultat :

Commander est donc fonctionnel, compilons le tout en exécutable.

Ajouter pkg au projet

Pour installer pkg, exécuter npm i pkg. Puis, afin que la librairie puisse savoir quel fichier doit être compilé, il faut ajouter une propriété bin à notre package.json.

Boom! C’est tout!

Compiler le programme

Ici, soit vous ajoutez un script au package.json, soit vous exécutez la commande manuellement. Une fois lancée comme ci-dessous, pkg va créer des exécutable pour linux, windows et mac.

De mon côté, ça a créé :

pkg-test-win.exe

pkg-test-macos

pkg-test-linux

Pour tester, on peut essayer de voir si commander répond toujours :

Vous devriez voir l’aide générée par commander.

Conclusion

Il peut y avoir une multitude de raison pour lesquelles il peut être pratique d’avoir un exécutable au lieu des sources. Par contre, il faut savoir que node est packagé avec l’application, donc l’exécutable sera nécessairement plus gros. Par exemple, le script de cet article pèse environ 45 mo. Probablement impossible de l’envoyer par courriel…

Aujourd’hui, vous avez appris à créer des exécutables multi-plateformes à partir d’une application node. Il y a quelque mois, j’avais aussi fait un article sur comment créer une application native depuis une application Angular. Je vous invite à le lire ou le relire, et aussi à partager dans vos réseaux sociaux.

Merci de nous suivre chaque semaine! Cheers 😀

Suivez-nous par courriel!

Saisissez votre adresse courriel pour vous abonner au blog d'Ezo et recevoir une notification de chaque nouvel article par email.