ReactJS: Как развернуть на локальном сервере - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть веб-приложение, разработанное с NodeJS + Express + GraphQL + MongoDB и интерфейсом ReactJS + Apollo.Я хотел бы развернуть это приложение локально .Это вообще возможно?

Я встречал десятки «как развернуть в Heroku», «как развернуть в Digital Ocean», «как развернуть в Github» и т. Д. Но ни один из них не объясняет, как развертывать локально.

Сейчас я запускаю: nodemon server для серверной части и npm start для клиентской части.Я вижу, что приложение работает на http://localhost:3000/ (я использую cors для подключения внешнего интерфейса к серверу, работающему на порте 3001).

Я бы хотел просто перейти на http://localhost:3000/ и посмотреть приложение без необходимостивыполнить команды npm start и nodemon server.Это возможно?Если да, то как мне это сделать?

Насколько мне известно, наш локальный сервер не является сервером WAMP (хотя наша ОС - Windows).ИТ-отдел сказал мне, что это обычный 1014 *

[...] обычный старый сервер.Адрес localhost работает на порту 3000. Вы можете открыть другой порт на 3001, если вам это нужно.Просто бросьте свои вещи на диск C: и все будет хорошо.Я никогда не слышал о Node или React, поэтому не могу помочь, если у вас есть вопросы.

Есть идеи?Заранее большое спасибо за вашу помощь!

ОБНОВЛЕНИЕ

Кажется, есть некоторая путаница вокруг того, что я ищу.Я пытаюсь развернуть это локально.

Допустим, на локальном компьютере (домашнем ноутбуке) вы переходите на localhost: 3000 в своем любимом браузере.Если вы не передадите что-то локальному хосту в этот момент, ничего не появится, он скажет «отказался подключиться» или что-то в этом роде.Я хочу, чтобы я мог открывать любой компьютер в сети всякий раз, когда я захожу на localhost: 3000, и мой реагирующий сайт появляется и работает ... это имеет больше смысла?

Я не хочу, чтобы это былорежим разработки.Я хочу собрать этот проект на localhost ... Я начинаю думать, что это невозможно.

Ответы [ 6 ]

0 голосов
/ 23 декабря 2018

Я бы попробовал следующее:

  1. собрать приложение с установленными переменными производственной среды
  2. получить все файлы из папки dist и развернуть их на своем сервере
  3. Теперь получить доступ к вашему приложению, используя localhost /
0 голосов
/ 23 декабря 2018

Нет возможности перезагрузить сервер, сохраняя его работоспособным.Технически, вы можете сделать так, чтобы ваш «основной» файл отслеживал другой файл на предмет изменений.Это будет файл, в котором вы на самом деле храните свою серверную программу.Затем, при изменениях, вы отбрасываете текущую логику и начинаете ее выполнять.Тем не менее, делать это таким образом было бы очень хрупким и очень обходным способом сделать это.Это также не исправит ваш интерфейс, для которого вам потребуется аналогичное решение.

Вместо этого вы можете подключиться к событию сохранения вашего любимого редактора и запустить эти две консольные команды, чтобы каждый раз, когда высохранить, сервер автоматически активируется.(Не забудьте также очистить существующие серверы)

0 голосов
/ 20 декабря 2018

Для решения проблемы сначала необходимо создать командный файл с расширением .bat or .cmd и в этом файле добавить следующую 2 команду

nodemon server npm start

Затем следуетЧтобы добавить его в качестве сценария запуска для ОС Windows, выполните следующие действия.

  1. Создайте ярлык для командного файла.
  2. После создания ярлыка щелкните файл правой кнопкой мыши и выберитеВырезать.
  3. Нажмите кнопку «Пуск», введите «Выполнить» и нажмите клавишу ввода.
  4. В окне «Выполнить» введите shell: автозагрузка, чтобы открыть папку «Автозагрузка».
  5. После запуска папки «Автозагрузка»Откройте вкладку «Главная» в верхней части папки и выберите «Вставить», чтобы вставить ярлык в папку.

Выше приведены действия, например, для создания командного файла и его добавления в качестве запуска.скрипт для пользователей Windows 8 и 10.Для большей наглядности или ссылки перейдите по следующей ссылке. reference-link

0 голосов
/ 17 декабря 2018

Для решения проблемы вы можете создать скрипт запуска, который выполняет npm start и nodemon server.Затем убедитесь, что он скрыт, чтобы ваш сервер всегда работал.Имейте в виду, что любые ошибки приведут к остановке вашего сервера, и если вы не настроите его, сервер не перезагрузится сам по себе.

0 голосов
/ 17 декабря 2018

Как я понял, вы хотите развернуть его на локальном сервере , а не локально на вашем устройстве разработки.

Я думал об этом... но я не уверен, что с ним все будет в порядке ...: (

Как вы можете использовать сервер, если он не работает? Так же, как WAMP (который запускает apache), или что там у вас есть, он должен работать. Итак, просто сделайте его фоновым процессом, как slawomir .

PS Хотя я не думаю, что вы правильно понимаете сервер узлов. это , чтобы понять, почему сервер узла нуждается в перезагрузке. После этого вам нужно понять, что инструмент горячей перезагрузки не идеален, и вам придется время от времени перезагружать сервер.

PPS Iне знаю, что это значит

[...] обычный, обычный старый сервер. Адрес localhost работает на порту 3000.

, если на нем работает сервер3000, вам нужно изменить порт для вашего сервера на что-то еще (мообщее число 9000)

0 голосов
/ 17 декабря 2018

Вам нужно сделать npm start Могут быть и другие способы его запуска, но все приведут к тому же.Вы можете прочитать эту статью на Freecodecamp о развертывании на DigitalOcean.Вы можете манипулировать им на своем локальном хосте.Не должно быть слишком разным. FCC Tut при развертывании

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...