J'ai une application Web développée avec un back-end NodeJS + Express + GraphQL + MongoDB et un frontal ReactJS + Apollo. Je souhaite déployer cette application localement. Est-ce que c'est possible?
J'ai rencontré des dizaines de "comment déployer sur Heroku", "comment déployer sur Digital Ocean", "comment déployer sur Github", etc. Mais aucun de ceux qui expliquent comment déployer localement.
En ce moment, je lance: nodemon server
pour le back-end et npm start
pour le front-end. Je vois que l'application est exécutée sur http://localhost:3000/
(j'utilise cors pour connecter le serveur frontal au serveur s'exécutant sur le port 3001).
Je voudrais simplement aller à http://localhost:3000/
et voir l'application sans avoir à exécuter les commandes npm start
et nodemon server
. Est-ce possible? Si oui, comment je fais ça?
À ma connaissance, notre serveur local n'est pas un serveur WAMP (notre système d'exploitation est cependant Windows). Le service informatique m'a dit que c'était un
[...] plaine, vieux serveur régulier. L'adresse est localhost s'exécutant sur port 3000. Vous pouvez ouvrir un autre port sur 3001 si vous en avez besoin. Juste déposez vos affaires sur le lecteur C: vous devriez être prêt à partir. J'ai jamais entendu parler de Node ou React, je ne peux donc pas vous aider si vous avez des questions.
Des idées? Merci d'avance pour votre aide!
METTRE À JOUR
Il semble y avoir un peu de confusion autour de ce que je recherche. J'essaye de déployer ceci localement.
Disons que, sur votre ordinateur local (votre ordinateur portable à la maison), vous allez sur localhost: 3000 sur votre navigateur préféré. À moins que vous ne serviez quelque chose à localhost à ce moment-là, rien ne se présentera, il dira "a refusé de vous connecter" ou quelque chose du genre. Ce que je veux, c'est pouvoir ouvrir n'importe quelle machine du réseau chaque fois que je vais sur localhost: 3000 et que mon site de réaction apparaît et fonctionne ... est-ce plus logique?
Je ne veux pas que ce soit en mode de développement. Je veux une construction de ce projet sur localhost ... Je commence à penser que ce n'est pas possible.
Pour résoudre le problème, vous pouvez créer un script de démarrage qui exécute npm start
et nodemon server
. Assurez-vous ensuite de le masquer afin que votre serveur fonctionne toujours. Gardez cependant à l'esprit que toute erreur générée arrêtera votre serveur et, à moins que vous ne le configuriez, le serveur ne se rechargera pas tout seul.
Si j'ai bien compris, vous souhaitez le déployer sur un serveur local et non sur localement sur votre périphérique en développement.
Je pensais faire ça ... mais je ne suis pas sûr que ça ira si ça tourne toujours ... :(
Comment pouvez-vous utiliser un serveur s'il ne fonctionne pas? Tout comme WAMP (qui exécute Apache), ou quoi que vous obteniez, il doit être en cours d'exécution. Faites donc simplement un processus en arrière-plan comme slawomir suggéré.
PS Je ne pense pas que vous compreniez bien le serveur de noeud si . Lisez ceci pour comprendre pourquoi le serveur de noeud a besoin d'être rechargé. Après cela, vous devez comprendre qu'aucun outil de rechargement à chaud n'est parfait, et vous devrez redémarrer votre serveur de temps en temps.
PPS Je ne sais pas ce que cela signifie
[...] plaine, vieux serveur régulier. L'adresse est localhost s'exécutant sur le port 3000.
si un serveur fonctionne sur 3000, vous devrez changer le port de votre serveur (le plus commun est 9000)
Pour résoudre le problème, il faut d’abord créer un fichier de commandes avec l’extension .bat or .cmd
et ajouter à ce fichier la commande 2 suivante
nodemon server
npm start
Suivez ensuite les étapes suivantes pour l'ajouter en tant que script de démarrage pour Windows OS.
Les étapes ci-dessus consistent, par exemple, à créer un fichier de commandes et à l'ajouter en tant que script de démarrage pour Windows 8 et 10 utilisateurs . Pour plus de clarté ou de référence, cliquez sur le lien suivant. reference-link
Je voudrais essayer de suivre:
Il n'y a pas d'option pour recharger le serveur tout en le maintenant en marche. Vous pourriez, techniquement, demander à votre fichier "principal" de contrôler les modifications d'un autre fichier. Ce serait le fichier dans lequel vous conserverez votre programme sever. Ensuite, en cas de modification, vous supprimez votre logique actuelle et commencez à l'exécuter. Cela dit, le faire de cette façon serait très fragile et un moyen très détourné de le faire. Cela ne résoudrait pas non plus votre problème pour lequel vous auriez besoin d'une solution similaire.
Au lieu de cela, vous pouvez vous connecter à l'événement de sauvegarde de votre éditeur favori et exécuter ces deux commandes de console pour que le serveur soit automatiquement activé à chaque sauvegarde. (Assurez-vous de nettoyer également les serveurs existants)