angular / angular/angular-cli

ng serve with traditional backend

Offen
#24,478 5 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
angular/build:dev-server area: @angular/build feature feature: insufficient votes
Vorherrschende Sprache
TypeScript
Sterne
27k
Forks
11.8k
Ø Merge
14 Std. 23 Min.
Gemergte PRs (30 T.)
162

Beschreibung

### Which @angular/* package(s) are relevant/related to the feature request?

compiler-cli

### Description

I would like to serve the index.html using a traditional backend, and use ng serve to get HMR for the angular app.

The issue with a proxy for the backend API calls is that development and production behave differently. Also, you cant have additional logic on the backend before serving the index.html (for example cookie auth)

### Proposed solution

Have a flag on `ng serve` that the websocket should go directly to the angular server. and would be nice if we can have a single script instead of having to add it all manually.

In vite all you need to do is add the following to your server's HTML template.
```

```
https://vitejs.dev/guide/backend-integration.html

### Alternatives considered

I tried adding the full path to the angular scripts, but the `/ng-cli-ws` calls goes to the backend server.

```


Angular


```

`--public-host=localhost:4200` fixes the /ng-cli-ws call, but lazy loading and the .hot-update.json still goes the backend server.
![image](https://user-images.githubusercontent.com/46120703/210085539-caec948c-1db4-4912-8fbd-1cf0190798bd.png)

changing the base href to `https://localhost:4200/` fixes above, but breaks the routing links

also, you need to enable ssl if your backend is ssl, as it will go to wss instead of ws, i think this should rather be based on options.ssl see https://github.com/angular/angular-cli/issues/24373#issue-1475322626.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Verarbeitung von ng serve für /ng-cli-ws, lazy-geladene Assets, Hot-Update-Dateien und das Verhalten von options.ssl nachzuverfolgen, und prüfe anschließend den bestehenden public-host-Flow. Als abgeschlossen gilt die Bereitstellung einer unterstützten Möglichkeit, Angulars Entwicklungs-Assets und websocket über ein herkömmliches Backend bereitzustellen, ohne das Backend-Routing oder die Protokollauswahl zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
cli
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.