Рубрики
Без рубрики

Рецепты разработчиков: Интеграция интерфейса React в корпоративную среду Java

тест. С тегами react, java, frontend.

Проблема

Вы оказались в среде Java и хотите написать интерфейс или тестовую страницу с помощью React? Вы хотите загрузить свое приложение с помощью create-react-app, но не знаете, как интегрировать его в текущие этапы сборки? Тогда это для вас!

Требования

Добавьте frontend-maven-plugin в свой pom.xml

Пример pom.xml

  

 4.0.0

 com.zehethomas
 react-spring-example
 0.0.1-SNAPSHOT

 jar

 
  org.springframework.boot
  spring-boot-starter-parent
  2.0.4.RELEASE
   
 


 
  1.8
 

 
  
   org.springframework.boot
   spring-boot-starter-web
  
 

 
  
   
    org.springframework.boot
    spring-boot-maven-plugin
   


   
   
    com.github.eirslett
    frontend-maven-plugin
    1.6
    
     v10.0.0
     6.1.0
     src/main/js/frontend
    
    
     
      Install node and npm locally to the project
      
       install-node-and-npm
      
     
     
      npm install
      
       npm
      
     
     
      Build frontend
      
       npm
      
      
       run build
      
     
    
   
   
    org.apache.maven.plugins
    maven-resources-plugin
    
     
      Copy frontend build to target
      process-resources
      
       copy-resources
      
      
       ${basedir}/target/classes/resources
       
        
         ${basedir}/src/main/js/frontend/build
         true
        
       
      
     
    
   
  
 

Использует maven-frontend-plugin для локальной установки node и npm. После этого запускается npm install для загрузки всех зависимостей и сборки приложения с помощью npm run build

maven-resources-plugin используется для копирования сборки интерфейса в target. Важно изменить ${basedir}/build на местоположение, в котором находится ваш интерфейсный код.

Подключение приложения React к серверной части

Если вы сталкиваетесь с ошибками, это, вероятно, связано с политикой того же источника Политика того же источника .

Вы можете легко исправить это, добавив "прокси": "http://localhost:8080/" в ваш файл package.json, который проксирует маршруты к вашему бэкенду.

Пример package.json

{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.5.2",
    "react-dom": "^16.5.2",
    "react-scripts": "1.1.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:8080/"
}

Создайте файл .npmrc

Это необходимо, если ваша компания использует частный реестр npm для предотвращения ошибок npm 404 при извлечении зависимостей

Пример .npmrc

registry = http:///  
@babel:registry = https://registry.npmjs.org/
@types:registry = https://registry.npmjs.org/

Создание и запуск приложения

Теперь вы можете запустить maven clean package для сборки react-spring-example-0.0.1-SNAPSHOT.jar который находится в вашей целевой папке.

Выполнить java -jar react-spring-example-0.0.1-SNAPSHOT.jar чтобы запустить ваше приложение.

Перейдите на localhost:8080 и ура, все готово!:>

исходный код

Вы можете найти пример проекта на github react-spring-example .

Спасибо!

Источники: Вдохновили меня написать это. Создание нового веб-приложения с помощью create-react-app и Spring Boot

Оригинал: “https://dev.to/tzehe/dev-recipes-integrate-react-frontend-in-a-java-corporate-environment-2e43”