Supposons que j'ai écrit une application Node.js, et que je souhaite maintenant la distribuer. Bien sûr, je veux que ce soit facile pour l'utilisateur, donc je ne veux pas qu'il installe Node.js, exécute npm install
puis tapez manuellement node app.js
.
Ce que je préfèrerais, c'est un seul fichier exécutable, par exemple une .exe
sous Windows.
Comment pourrais-je aborder cette question ?
Je suis conscient de este hilo De toute façon, il ne s'agit que de Windows. Comment pourrais-je réaliser cela d'une manière indépendante de la plateforme ? Avez-vous des idées ? Les meilleures pratiques ? ... ?
La solution idéale était un "compilateur" auquel je pouvais donner un dossier source. Le dossier source contient l'application elle-même dans différents .js
les fichiers node_modules
et certaines métadonnées, telles que le nom de l'utilisateur. package.json
. Le résultat devrait être des binaires pour diverses plateformes, telles que Windows, OS X et Linux.
Oh, et ce qui est important : je ne veux pas faire tout des modifications du code source, de sorte que les appels à require
avec des chemins relatifs devraient toujours fonctionner, même si ce chemin relatif se trouve maintenant dans l'application packagée.
Des idées ?
PS : Je ne veux pas que l'utilisateur installe Node.js indépendamment, il doit être inclus dans l'exécutable également.
1 votes
S'agit-il d'une application web ? (ce qui signifie que l'interface utilisateur est basée sur le Web) ou une application en ligne de commande plus simple qui fait autre chose ? Je soupçonne que cela devient beaucoup plus difficile si vous avez besoin de faire apparaître un navigateur de quelque sorte.
7 votes
Nombre de membres de la communauté node.js qui se déploient sur des OS unix de cette manière : zéro. Êtes-vous sûr que les approches éprouvées comme une archive tar, deb ou rpm ne sont pas acceptables pour vous ? Êtes-vous en train d'inventer un problème à résoudre qui n'existe pas vraiment ?
1 votes
Alex Wayne : C'est une application côté serveur, donc pas besoin de lancer un navigateur.
2 votes
PS : De plus, ma question inclut s'il y a un un outil que je peux utiliser pour créer une solution pour n'importe quelle plateforme, donc même un outil qui crée automatiquement un fichier .exe pour Windows et un fichier .deb serait génial ;-)
0 votes
@PeterLyons Je trouve cela difficile à croire. Je peux aussi le prouver.