Skip to content

Nikolai8/ToDo-App-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ToDo-App-Frontend

In „Vanilla JavaScript" ohne Framework geschrieben und statisch von NGINX-Server als Docker-Image geliefert, daher kann JavaScript nicht wie in Node.js Environment-Variablen lesen, weil das JavaScript nur im Browser ausgeführt wird und es hier keine Environment-Variablen des Systems gibt.

  • Es wäre möglich über Node.js als Server die Seite zu liefern, dann könnten Environment-Variablen über process.env.ENV_VARIABLE, dies würde aber eine zusätzliche Server-Programmierung erfordern.
  • Mit Benutzung eines auf beispielsweise Node.js basierendes Framework wie React können auch Environment-Variablen gestzt werden, dazu muss man aber das Projekt umschreiben.
  • Über NGINX lassen sich über Docker auch Environment-Variablen setzen, diese aber über eine statisch geliefertes JavaScript auszulesen gestaltet sich aber als nicht so einfach möglich.

Setzen von Backend URL und Port

Zum Setzen des Backend-Endpunktes muss die URL-Variable am Anfang des JS-Codes geändert werden und das Docker Image neu generiert werden, falls über Docker ausgeführt werden soll.

image

CORS Problematik

Falls das Frontend nicht mit dem Backend kommunizieren kann, liegt es möglicherweise am nicht eingerichteten CORS des Backend-Servers, dies wird auch als Fehler im Console-Log des Browsers angezeigt.

image

  • Um beim Spring-Backend CORS einzurichten über dem ApiController und dem JpaController folgenden Code einfügen: @CrossOrigin(origins = "*")

    image