web-dev-qa-db-fra.com

ReactJS: Comment déployer sur un serveur local

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.

10
Bens Steves

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.

4
Slawomir Wozniak

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)

5
CT.

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 servernpm start

Suivez ensuite les étapes suivantes pour l'ajouter en tant que script de démarrage pour Windows OS.

  1. Créez un raccourci vers le fichier de commandes.
  2. Une fois le raccourci créé, cliquez avec le bouton droit sur le fichier et sélectionnez Couper.
  3. Appuyez sur le bouton Démarrer, tapez Exécuter et appuyez sur Entrée.
  4. Dans la fenêtre Exécuter, tapez Shell: startup pour ouvrir le dossier de démarrage.
  5. Une fois le dossier de démarrage ouvert, cliquez sur l’onglet Accueil du haut du dossier et sélectionnez Coller pour coller le raccourci dans le dossier

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

0
RamThakur

Je voudrais essayer de suivre:

  1. construire votre application avec l'ensemble de variables d'environnement de production
  2. récupère tous les fichiers du dossier dist et les déploie sur votre serveur
  3. accédez maintenant à votre application en utilisant localhost /
0
venu

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)

0
Bronzdragon