一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot與React集成的示例代碼

Spring Boot與React集成的示例代碼

2021-06-10 14:06Higher_Stark Java教程

這篇文章主要介紹了Spring Boot與React集成的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

前不久學習了web開發,用react寫了前端,spring boot搭建了后端,然而沒有成功地把兩個工程結合起來,造成前端與后端之間需要跨域通信,帶來了一些額外的工作。

這一次成功地將前端工程與后端結合在一個project中,記錄一下,也希望能幫到那些和我一樣的入門小白。

環境

windows 10 - x64, java 1.8.0, node v8.9.4, npm 6.1.0

前奏

*jdk, node 和 npm請自行安裝

新建一個spring boot工程

在intellij里選擇spring initializer新建,

Spring Boot與React集成的示例代碼

依賴添加devtool和web

Spring Boot與React集成的示例代碼

隨后就初始化了后端的spring boot項目

在spring boot項目的文件夾內,新建一個react工程,推薦用create-react-app,沒有的話通過npm安裝到全局

?
1
2
// npm install -g create-react-app
create-react-app frontene

主曲

添加maven插件frontend-maven-plugin

?
1
2
3
4
5
6
7
8
9
<plugins>  
  <plugin>  
    <!-- https://mvnrepository.com/artifact/com.github.eirslett/frontend-maven-plugin -->  
      <groupid>com.github.eirslett</groupid>  
      <artifactid>frontend-maven-plugin</artifactid>  
      <version>1.6</version>  
     ...  
  </plugin>  
</plugins>

frontend-maven-plugin可以在打包時build react項目,并將build得到的前端頁面文件放入指定位置。

配置frontend-maven-plugin

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<executions>
 <execution>
   <id>install node and npm</id>
   <goals>
    <goal>install-node-and-npm</goal>
   </goals>
   <configuration>
    <nodeversion>v8.11.1</nodeversion>
    <npmversion>5.6.0</npmversion>
    <nodedownloadroot>http://npm.taobao.org/mirrors/node/</nodedownloadroot>
   <!--<npmdownloadroot>http://npm.taobao.org/mirrors/npm/</npmdownloadroot>-->
    </configuration>
  </execution>
  <execution>
   <id>npm install</id>
   <goals>
    <goal>npm</goal>
   </goals>
   <configuration>
    <arguments>install</arguments>
   </configuration>
  </execution>
 
  <execution>
   <id>npm run-script build</id>
   <goals>
    <goal>npm</goal>
   </goals>
   <configuration>
    <arguments>run-script build</arguments>
   </configuration>
  </execution>
 </executions>
 <configuration>
  <installdirectory>target</installdirectory>
  <workingdirectory>frontend</workingdirectory>
 </configuration>

 maven這一插件會依次執行install-node-and-npm, npm install, npm run-script build三條命令。

配置中的installdirectory指定了node和npm的安裝位置,在jar包中安裝node和npm確保在沒有安裝node和npm的機器上jar包依然可以運行,如果安裝了則會屏蔽全局的node和npm。

workingdirectory值為前端項目package.json文件所在路徑,插件會自動在workingdirectory下運行npm install和npm run-script build命令。

webpack 配置

通過create-react-app生成的項目里并沒有webpack的配置,在frontend里npm run eject,會彈出許多個文件夾,config下可以看見與webpack相關的多個配置文件。

這里需要修改paths.js 中的 module.exports = { ... },修改后如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
module.exports = {
 dotenv: resolveapp('.env'),
 appbuild: resolveapp('../src/main/resources/static/'),   // 設置build所產生的文件的放置位置
 apppublic: resolveapp('../src/main/resources/static/'),  // 設置public文件夾內文件在build后的存放位置
 apphtml: resolveapp('public/index.html'),
 appindexjs: resolveapp('src/index.js'),
 apppackagejson: resolveapp('package.json'),
 appsrc: resolveapp('src'),
 yarnlockfile: resolveapp('yarn.lock'),
 testssetup: resolveapp('src/setuptests.js'),
 appnodemodules: resolveapp('node_modules'),
 publicurl: getpublicurl(resolveapp('package.json')),
 servedpath: getservedpath(resolveapp('package.json')),
};

尾聲

前后端工程結合通過以上一些操作就可以實現一個工程開發,同時前后端仍然是解耦的,僅測試前端效果只需要在前端文件下用node運行。

實踐證明,在前端應用react-router并不需要對后端作其他配置。

這篇博文只是將spring boot和react結合到一個項目里的一次簡單的嘗試,本人web開發并不精通,懇請高手斧正。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/Higher_Stark/article/details/80931388

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天堂bt在线 | 青青热久麻豆精品视频在线观看 | 春宵福利网站在线观看 | 美女脱得一二净无内裤全身的照片 | 我把校花黑色蕾丝胸罩脱了 | 亚洲swag精品自拍一区 | 亚洲欧美国产自拍 | 999热这里全都是精品 | 国产一级在线观看 | 福利一区二区在线观看 | 国产一区二区三区高清视频 | 白丝爆动漫羞羞动漫网站 | 亚洲免费视 | 好大好湿好硬好爽好深免费视频 | 非洲黑女人性xxxx | 久久亚洲午夜牛牛影视 | 免费国产午夜高清在线视频 | 亚洲国产成人资源在线桃色 | 国产aaa毛片 | 日本在线一区 | 白丝女仆被啪到深夜漫画 | 特黄特色大片免费影院 | 欧美日韩在线成人看片a | 成年人黄视频在线观看 | 黄色大片免费网站 | www.色小妹| 911福利视频 | 好女孩韩剧免费观看 | 久久伊人久久 | 国产精品日韩欧美一区二区 | 久久理论片 | 四虎影视色费永久在线观看 | 天天狠天天透天干天天怕处 | 91久久偷偷做嫩草影院免费看 | 99热国产这里只有精品99 | 国内精品久久久久影院中国 | 免费日本在线 | 国产九九| 黄色aaa| 国产福利兔女郎在线观看 | 日韩欧美在线视频一区二区 |