javascript
Spring Boot和Angular 2入门食谱
我主要是一名服務(wù)開(kāi)發(fā)人員,必須不時(shí)創(chuàng)建一些可傳遞的UI。 我精通基于AngularJS1的基本UI,并且可以使用之前概述的方法來(lái)完成工作。 遺憾的是,隨著Angular 2的出現(xiàn),我不得不將以前的方法拋諸腦后,而現(xiàn)在使用Spring Boot / Angular 2的方法也能很好地工作。
該方法本質(zhì)上適用于以下事實(shí): Spring Boot Web應(yīng)用程序在非常特定的位置中查找靜態(tài)內(nèi)容–從項(xiàng)目根目錄開(kāi)始的src / main / resources / static文件夾,因此如果我可以將最終的js內(nèi)容放入該文件夾,那我很黃金。
因此,讓我們跳進(jìn)去。
先決條件
首先有一個(gè)先決條件– 出色的angular-cli工具 ,這對(duì)像我這樣不懂UI的開(kāi)發(fā)人員來(lái)說(shuō)是一種幸運(yùn)。
第二個(gè)可選但有用的前提條件是此處介紹的Spring-Boot CLI工具
生成SPA項(xiàng)目
給定這兩個(gè)工具,首先通過(guò)從http://start.spring.io開(kāi)始或使用以下CLI命令創(chuàng)建一個(gè)Spring Boot Web項(xiàng)目:
spring init --dependencies=web spring-boot-angular2-static-sample此時(shí),應(yīng)該已經(jīng)在spring-boot-angular2-static-sample文件夾中生成了一個(gè)啟動(dòng)程序項(xiàng)目。 從該文件夾使用angular-cli生成一個(gè)Angular 2項(xiàng)目。
ng init更改angular-cli構(gòu)建工件的位置,編輯angular-cli.json并進(jìn)行如下修改:
現(xiàn)在構(gòu)建靜態(tài)內(nèi)容:
ng build這應(yīng)該將靜態(tài)內(nèi)容獲取到src / main / resources / static文件夾中。 并啟動(dòng)Spring-Boot應(yīng)用程序:
mvn spring-boot:run并且基于AngularJS2的UI應(yīng)該呈現(xiàn)清晰!
實(shí)時(shí)重載
使用Angular-cli的優(yōu)勢(shì)之一是它附帶的出色的工具鏈–其中之一就是能夠進(jìn)行更改并將其反映在UI上。 此功能在此處記錄的方法中丟失了,其中UI可能主要由Spring-Boot項(xiàng)目上托管的服務(wù)驅(qū)動(dòng)。 但是,要恢復(fù)AngularJS2開(kāi)發(fā)上的實(shí)時(shí)重新加載功能很困難。
首先代理后端,創(chuàng)建一個(gè)proxy.conf.json文件,其條目如下所示:
{"/api": {"target": "http://localhost:8080","secure": false} }并使用以下命令啟動(dòng)Angular-cli服務(wù)器:
ng serve --proxy-config proxy.conf.json并使用以下命令獨(dú)立啟動(dòng)服務(wù)器部分:
mvn spring-boot:run就是這樣,現(xiàn)在可以獨(dú)立于服務(wù)器端API進(jìn)行UI開(kāi)發(fā)了! 要獲得更大的成功,只需使用Spring Boot附帶的出色devtools即可在服務(wù)器端獲得實(shí)時(shí)重載(更多重啟)功能。
結(jié)論
這是我可能要?jiǎng)?chuàng)建的任何基本UI的配方,這種方法對(duì)于大型項(xiàng)目可能不是理想的選擇,但對(duì)于小型內(nèi)部項(xiàng)目則應(yīng)該是完美的選擇。 我在這里的github倉(cāng)庫(kù)中有一個(gè)示例啟動(dòng)器,其中帶有一個(gè)后端調(diào)用。
翻譯自: https://www.javacodegeeks.com/2016/11/recipe-getting-started-spring-boot-angular-2.html
總結(jié)
以上是生活随笔為你收集整理的Spring Boot和Angular 2入门食谱的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iPhone 15,抹去乔布斯时代的最后
- 下一篇: 最后一款!阿华今天或继续搞事情:华为Ma