Я пытаюсь развернуть приложение на основе реакции в пристань. В рамках этого я подумал о том, чтобы попытаться сделать то же самое на причальном сервере. Я перешел по ссылке: https://www.megadix.it/blog/create-react-app-servlet/
Ссылка выше объясняет подробности об этом, а в конце есть проект github для ведения войны. ссылка на это ниже: https://github.com/megadix/create-react-app-servlet
Теперь я могу развернуть войну, созданную с помощью вышеуказанного проекта github в tomcat 9. Я не могущий, чтобы понять, как происходит разрешение зависимостей node_modules. Также я не могущий, чтобы развернуть ту же войну на пристани (поместить войну в папку webapps и запустить пристань)
Спасибо
Одностраничные приложения необходимо скомпилировать в один (в некоторых случаях и больше) файл .js. В вашем случае за выполнение этого требования отвечают create-react-app или аналогичные инструменты.
В списке выполнения pom.xml вы можете увидеть команды npm install, npm build. Они очень похожи на mvn clean install и mvn buuild.
Зависимости разрешаются из поля зависимостей package.json и устанавливаются в node_modules. Как только зависимости есть, сборка npm (или сборка create-response-app-servlet) компилирует весь исходный код + зависимости в файл js. Вероятно, это имя вроде main.XXXXXX.js.
В итоге у вас есть папка dist, состоящая из .html, .js и других ресурсов.
Будет лучше, если вы поделитесь более подробной информацией о том, что происходит с развертыванием причала.
Кроме того, в вашем комментарии выше, когда я размещаю его на войне с котом. Как Tomcat знает о node_modules. Я имею в виду, что я не вижу никаких модулей node_modules под tomcat "webapps / my-app / *".
Ошибка 404 на пристани кажется мне действительно странной. В обоих военных каталогах должен быть файл index.html, который должен быть открыт по умолчанию. Может быть, ваш причальный сервер по умолчанию не открывает файлы index.html? Вы можете попробовать localhost: 8080 / my-app / index.html. В my-app не должно быть никаких node_modules. Как я уже сказал, когда вы запускаете задачу сборки, весь исходный код плюс код javascript, необходимый из node_modules, компилируется в файл main.js. Как только он находится в main.js, вам больше не нужны node_modules
Спасибо за объяснение main.js. Я также получаю 404 с localhost: 8080 / my-app / index.html
Спасибо. Когда я пытаюсь развернуть войну на пристани (копирование войны в веб-приложениях и запуск причала). При открытии localhost: 8080 / my-app я получаю 404.