본문 바로가기
FE/Angular

Java Back-end Angular appを SpringBoot でビルドするメカニズム

by Birthmark 2022. 2. 16.

Java 백엔드로 Angular App 구동원리

 

Java 백엔드로 Angular 앱을 개발하고 빌드하는 방법

Angular 앱을 빌드하고 프로덕션 용으로 출시 할 수있는 방법은 매우 많습니다. 한 가지 방법은 NodeJS 또는 Java로 Angular를 빌드하는 것이고 다른 방법은 Angular를 빌드하고 NGINX 웹 서버로 해당 정적

ichi.pro

Angular appをビルドしリリースする方法は下記の二つがあります。

1.NodeJSもしくはJavaでAngularをビルド(Javaを使ったらserver codeも処理しないと。例えばjavaでindex.html pageをloadしないと。)

2.AngularをビルドしNGINX Web Serverで該当静的コンテンツを提供

するということです。

Angular:Web appをビルドするためのJava Script FrameworkでありBrowserにて自体にロードできません。

Browerのすべての依存性(CSS 、JS file)と共にAngularのindex.html(single page)をロードする一種のメカニズムが必要であります。

この場合、Angular resources をロードしAngular appでAPI呼び出しを受け入れるWeb serverでjavaを使用しています。

/apiがないすべてのweb requestはAngular routingに移動します。/apiを含めているすべての経路はJava serverで処理されます。


前提条件

  • Java
  • Angular CLI
  • typescript
  • VSCode
  • ngx-bootstrap
  • gradle or meaven?

開発段階では完全に違うportでJava serverとAngular appを実行します。


Project Structure

javaとAngularに対して全く異なる二つのフォルダが必要です。

 


Java API

原文参照


Angular app

原文参照


Java API - Angular interaction

この二つの相互作用は、APIに対するすべての呼び出しをプロキシ処理することによって発生します。

開発段階でAngular appはport8080で実行されるwebpack dev server , Java APIによりport4200にて実行されます。

すべてのAPI呼び出しはJava APIでProxyできます。Angularは内蔵Proxy方法を提供します。

ファイルを見ると/apiで始まるすべての経路がJava APIが実行されるlocalhost:8080にredirectionになります。

この後でproxyConfig キーを使ってservice下のangular.jsonにて定義しないといけないです。

これが構成されれば4200にてappを実行し8080でJava APIを続けて共に作動するようにするのができます。

'FE > Angular' 카테고리의 다른 글

Angular 명령어  (0) 2022.02.17
난데없는 에러  (0) 2022.02.08
프로젝트 생성 이후 VSCode에서의 Angular.json  (0) 2022.02.03
9. Validation  (0) 2022.01.28
8. Angular Reactive Forms  (0) 2022.01.27

댓글