angular / angular/angular-cli

ng serve with traditional backend

Ouverte
#24,478 5 commentaires 5 réactions 0 personnes assignées Voir sur GitHub
angular/build:dev-server area: @angular/build feature feature: insufficient votes
Langage dominant
TypeScript
Étoiles
27k
Forks
11.8k
Merge moyen
14 h 23 min
PR mergées (30 j)
162

Description

### 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par suivre le traitement de ng serve pour /ng-cli-ws, les assets chargés à la demande, les fichiers hot-update et le comportement de options.ssl, puis examinez le flux public-host existant. Le travail est terminé lorsqu’il existe un moyen pris en charge de servir les assets de développement d’Angular et websocket via un backend traditionnel, sans casser le routage du backend ni la sélection du protocole.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
cli
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.