這期內容當中小編將會給大家帶來有關React如何在Spring Boot中使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
springboot一種全新的編程規范,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程,SpringBoot也是一個服務于框架的框架,服務范圍是簡化配置文件。
環境
Windows 10 - x64, Java 1.8.0, node v8.9.4, npm 6.1.0
前奏
*JDK, Node 和 NPM請自行安裝
新建一個Spring Boot工程
在Intellij里選擇Spring Initializer新建,
依賴添加devTool和Web
隨后就初始化了后端的Spring boot項目
在Spring boot項目的文件夾內,新建一個React工程,推薦用create-react-app,沒有的話通過npm安裝到全局
// npm install -g create-react-app create-react-app frontene
主曲
添加Maven插件frontend-maven-plugin
<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
<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 = { ... },修改后如下
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')), };
上述就是小編為大家分享的React如何在Spring Boot中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。